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

WBOY
リリース: 2016-06-20 12:49:56
オリジナル
1002 人が閲覧しました

<?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 は空の文字列です。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!