对你们中的许多人来说,这听起来像是一个愚蠢的问题,但它让我想知道为什么 PHP 不允许在其函数参数中进行类型转换。许多人使用这种方法来转换他们的参数:
private function dummy($id,$string){
echo (int)$id." ".(string)$string
}
或者
private function dummy($id,$string){
$number=(int)$id;
$name=(string)$string;
echo $number." ".$name;
}
但是看看许多其他编程语言,它们接受类型转换到它们的函数参数中。但是在 PHP 中这样做可能会导致错误。
private function dummy((int)$id,(string)$string){
echo $id." ".$string;
}
解析错误:语法错误,意外的 T_INT_CAST,需要 '&' 或 T_VARIABLE
或者
private function dummy(intval($id),strval($string)){
echo $id." ".$string;
}
解析错误:语法错误,意外 '(',期待 '&' 或 T_VARIABLE
只是想知道为什么这不起作用以及是否有办法。如果没有办法,那么走常规方式对我来说没问题:
private function dummy($id,$string){
echo (int)$id." ".(string)$string;
}