ホームページ  >  記事  >  バックエンド開発  >  非常に単純な PHP ですが、何が出力されるのでしょうか?

非常に単純な PHP ですが、何が出力されるのでしょうか?

WBOY
WBOYオリジナル
2016-06-20 12:49:561030ブラウズ

<?php     if($i="")    {     echo "a";     }     else{     echo "b";     }


ディスカッションへの返信 (解決策)

出力が b なのはなぜですか?

$i=""
Put a 空の文字列は $i に代入され、その値はシステム

echo 2; //out 2$a = 2;echo $a; //out 2echo $a = 2; //out 2
に返されますが、php
では空の文字列は false とみなされます。そのため、if($i="") は else 分岐に入ります。となり、 b

が出力されます。これは、$i に null 値を代入し、$i が null かつ false であるため、else 分岐に入ります。

if($i="1") に変更すると if 分岐に入ります。

正解は 2 階です、笑

if (1 == 1){//マーク比較値}
= 単なる代入

if($ i ="");
は、まず $i

に "" を代入してから、$i の値を決定することを意味します。
$i は空の文字列なので、if($i="") は false なので、else echo "b" を実行します。

$i=="" が必要だと思います。$ かどうかを判断します。 i は空の文字列です。

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