7
PHPでの変数の型キャスト、これを行う実際的な理由は何ですか?
私たちのほとんどが知っているように、PHPには弱い型付けがあります。そうでない人のために、PHP.netは次のように述べています。 PHPは、変数宣言で明示的な型定義を必要としません(またはサポートしません)。変数のタイプは、変数が使用されるコンテキストによって決まります。 好きでも嫌いでも、PHPはその場で変数を再キャストします。したがって、次のコードは有効です。 $var = "10"; $value = 10 + $var; var_dump($value); // int(20) PHPでは、次のように変数を明示的にキャストすることもできます。 $var = "10"; $value = 10 + $var; $value = (string)$value; var_dump($value); // string(2) "20" それはすべてクールです...しかし、私の人生にとって、これを行うための実用的な理由を考えることはできません。 Javaのような、それをサポートする言語での強い型付けの問題はありません。それは大丈夫で、私はそれを完全に理解しています。また、関数パラメーターの型ヒントを認識し、その有用性を完全に理解しています。 型キャストに関する問題は、上記の引用文で説明されています。PHPで型を自由に交換できる場合は、型を強制的にキャストした後でも可能です。また、操作で特定のタイプが必要な場合にオンザフライで実行できます。これにより、次のことが有効になります。 $var = "10"; $value = (int)$var; $value = $value . ' TaDa!'; var_dump($value); // string(8) "10 TaDa!" …