これは多くの人にとってばかげた質問のように聞こえるかもしれませんが、なぜ 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;
}