ホームページ > バックエンド開発 > PHPチュートリアル > 結果が以下になるのはなぜですか?説明を手伝ってください。

結果が以下になるのはなぜですか?説明を手伝ってください。

WBOY
リリース: 2016-06-23 14:09:40
オリジナル
731 人が閲覧しました

<?php$a = 4;$b = 5;if($a=6 && $b=7){	$a++;	$b++;}echo var_dump($a)."_".var_dump($b);
ログイン後にコピー

以下の結果はなぜですか、説明を手伝ってください
bool(true)
int(8)


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

$a は 6&& $b=7 に割り当てられます
オリジナル式は $a = (6 && $b=7) と同等です
(6 && $b=7) が true なので bool(true) が返されます
条件が true なので $b++ が有効になり、最終的に $b が実行されますは 8 になります

$a = 4;$b = 5;if($a=6 && $b=7){ //由于 && 的优先级高于 = 所以是 $a = (6 && $b=7)    var_dump($a, $b); //bool(true) int(7)    $a++; //逻辑值没有算数运算,$a 不会改变    $b++; //$b 加一}echo var_dump($a, $b); //bool(true) int(8)
ログイン後にコピー

このように書くと、理解に役立つはずです (= よりも優先順位が低くなります)
$a = 4;$b = 5;if($a=6 and $b=7){    var_dump($a, $b);//int(6) int(7)    $a++;    $b++;}echo var_dump($a, $b);//int(7) int(8)
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート