ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルで false と 0 を区別する方法

php_PHP チュートリアルで false と 0 を区別する方法

WBOY
WBOYオリジナル
2016-07-13 17:14:291377ブラウズ

PHP では変数が 0 の場合、その変数は false と「等しい」ことになります。では、0 と false を区別するにはどうすればよいでしょうか。この記事で説明するように、これは一部の条件文で非常に役立ちます。

まずコードを見てください:

このコードの機能は、文字列が特定の単語で始まるかどうかを確認することです

コードは次のとおりです コードをコピー

$title = "こんにちは。";

$keyword = "あなた";

if(strpos($title , $keyword ) == 0) {

「正しい」をエコー;

} 他 {

「エラー」をエコー;

}

出力: 正しい

コードは正しいようですね?なぜ結果が間違っているのでしょうか?ヘルプマニュアルを確認すると、strpos() 関数は文字列内の単語を検索するときに、単語が存在する場合はその単語のインデックス位置を返し、存在しない場合は false を返すため、コードを次のように変更します。

コードは次のとおりです コードをコピー

if(strpos($title , $keyword ) == 0) {

「正しい」をエコー;

} else if(strpos($title , $keyword ) == false) {

「エラー」をエコー;

}

出力: 正しい

なぜまた間違っているのですか? PHP では、変数が 0 の場合、その変数は false とも「等しい」ことがわかります。では、0 と false をどのように区別するのでしょうか。実際は非常に簡単で、コードを再度変更するだけです:

コードは次のとおりです コードをコピー

if(strpos($title , $keyword ) === 0) {

「正しい」をエコー;

} else if(strpos($title , $keyword ) === false) {

「エラー」をエコー;

}

出力: エラー

コードは次のとおりです コードをコピー

/*
* ブール値をテストします
* 0 誤り
*/
$num = 0;
$bTest1 = false;
$bTest2 = true;
$strTest2 = 'false';
if($num == $bTest1)
{
echo ('数値 0 と false は等しい可能性があります'); //
を表示します。 echo ("
");
}
if($bTest1)
{
echo('決して実行されません
');//表示されません
}
もし(1)
{
echo('実行されますか?
');//実行
}
if($bTest2)
{
echo('私は上司なので実行したい
');//実行

}
他{
echo('あなたが望まないものはすべて私のものです
');
}
echo (false == 0);// 等しいことを示すには 1 を表示します
echo (true == 1);//等しいことを示すには 1 を表示します
関数 testReturn()
{
エコー('ああああ');
戻ります;
'bbbb' を返します;
echo('cccc');
}
//return は、この関数のリターンが以下のすべてを実行しないことを意味し、exit はプログラムを終了することを意味します
echo testReturn();//この関数を呼び出すと、「aaaa」「bbbbb」が出力されます
?>

false も 0 に等しい場合が多いです。たとえば、返したい値に 0 が含まれている場合は、数値のクエリに注意する必要があります。=== を使用して、それらが完全に等しいかどうかを判断できます。

PHP には、変数の型を取得する gettype() 関数があります。 === 演算子を使用できます (等号が 3 つあります)。 == 演算子との違いは、この演算子はデータの値と型の両方を比較することです。


終了条件に異なる変数タイプが含まれる場合は、=== 演算子と !== 演算子を使用して強力な型チェックを実行することが重要です。

http://www.bkjia.com/PHPjc/628991.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628991.html技術記事 PHP では、変数が 0 の場合、その変数は false と「等しい」ことになります。では、0 と false をどのように区別するのでしょうか。この記事で説明するように、これは一部の条件文で非常に役立ちます。 まずはコードを見てください:...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。