ホームページ >php教程 >php手册 >PHPで文字列の値判定に^_^==^_^を使う場合の注意点

PHPで文字列の値判定に^_^==^_^を使う場合の注意点

WBOY
WBOYオリジナル
2016-06-21 09:07:081312ブラウズ

文字列

思い出したのでここに載せておきます

PHPのデータ型は自動変換されるので、文字列を比較する際には
を使用しないように注意してください。 "== 判断します。場合によっては誤判断もあります。

$var = "test";

echo ($var == $foo); 1.

これは何もないと思う人もいるかもしれませんが、一般的にはそんなことは起こりません

実際、$foo が関数の戻り値である場合、この誤った判断が起こりやすいです


実際には、私の経験によると、MySQL などのデータベースを使用して

SELECT * FROM... を実行すると、mysql_fetch... から返される配列内の

キーには 2 つのグループがあり、1 つのグループはフィールド名に基づいています。レベルは 0、1、2 .... 以下のようになります:

$res = array(

0 => "abc", "key1" => "abc",

1 => "def" , "key2" => "def" );


ループを通して配列の値を読み取り、そのキーに基づいて操作を判断する

foreach ($res as $k =) > $ v) {

if ($k == "key2") { // ここで、$k が 0 の場合も式は true になります }
}



//
So Where 文字列比較が発生する場合は、より従来どおり strcmp() を使用することをお勧めします




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。