Php 在函数参数中强制转换数据类型?
有人知道它为什么失败吗Php 在函数参数中强制转换数据类型?,php,Php,有人知道它为什么失败吗 <?php function data((string)$data) { echo $data; } data(123); 解析函数的参数时不能强制转换。在函数内部执行 function data($data) { echo (string) $data; } data(123); 这应该是可行的: <?php function data(string $data) { echo $data; } data(123); 您尝试执行的
<?php
function data((string)$data)
{
echo $data;
}
data(123);
解析函数的参数时不能强制转换。在函数内部执行
function data($data)
{
echo (string) $data;
}
data(123);
这应该是可行的:
<?php
function data(string $data) {
echo $data;
}
data(123);
您尝试执行的操作称为:键入暗示
这就是允许函数或类方法指定它接收的参数类型
静态类型暗示仅在PHP7中引入,因此使用大于该版本的版本,您可以通过以下操作实现所需的功能:
<?php
function myFunction(string $string){
echo $string;
}
不允许像这样进行类型转换,相反,您可以使用类型提示的概念提示参数的类型阅读更多信息
您不能以这种方式强制转换数据类型,但您可能希望使用函数数据(字符串$data)-类型提示如果您使用php7,它不会在php7中引发任何错误如果您不通过sring,它会工作
<?php
function myFunction(string $string){
echo $string;
}
<?php
function data(string $data)
{
echo $data;
}
data(123);
<?php
function data($data)
{
echo (string) $data;
}
data(123);