$a = '1';
$b = '1';
// Method 1
if ($a == $b) { ... }
// Method 2
if ((int)$a == (int)$b) { ... }
どの方が良い解決法ですか?私はベストプラクティスをプログラミングし、必ずしもパフォーマンスではないと考えています。比較の前に2つの文字列をintに型キャストする方が良いですか?
$a = '1';
$b = '1';
// Method 1
if ($a == $b) { ... }
// Method 2
if ((int)$a == (int)$b) { ... }
どの方が良い解決法ですか?私はベストプラクティスをプログラミングし、必ずしもパフォーマンスではないと考えています。比較の前に2つの文字列をintに型キャストする方が良いですか?
Identical演算子を使用するだけで簡単に使用できます。
編集:andre matosは既にベストな方法であると考えています。
'=='を使用すると、PHPは型を取り囲み、とにかくキャストします。したがって、私はそれらを比較する前に整数にキャストする利点を見ることはできません。
より堅牢なソリューションを探している場合は、それらを整数にキャストし、Equal( '==')ではなくEqualityとTypeの両方に一致するIdentical( '===')を使用できます。
echo 1 == '1'; # true
echo 1 === '1'; # false
echo '1' === '1'; # true
echo '1' == '1'; # true
[===](http://pt2.php.net/manual/en/language.operators.comparison.php) – acm
別の有用な先端は、数値がすべき文字列として数値を格納することはありませんそうであれば、数字として使うべきです。 – Starlays