1. 次のステートメントはなぜ出力しますか?
if ($a=$b) printf(“a==b”);
2. $array[' anykey' ] と $array[anykey] の違いは何ですか?
(私の考え: 最初の質問は、$a=$b と $b には値が割り当てられていないため、どちらも空で "a==b" であるためです。が出力されますが、実際には実行時に「A! = B」が出力されます。これは理解できません
2 番目の質問の 1 つは文字、もう 1 つは変数です。解決策)
1. a!=b
質問では $b に値が割り当てられていないため、$b は空で、$a=$b は空を返し、偽の分岐に入ります E_NOTICE レベルのエラーがブロックされる場合、この 2 つは同じです
モデレーターはとても早く起きたと言いたいだけです。 。
1. $a=$b
$b には値がないので null です $a=$b の後は $a も null なので if($a) は null または false
文を追加すると
if ($a=$b) printf("a==b");
else printf("a!=b"); これは true を返します
2.
$array[ 'anykey'] と $array[anykey]
一重引用符が追加されていない場合、システムは自動的にそれを追加し、見つからない場合は再度検索します。それも同じですが、追加しないと通知が来て何度も確認する必要があり、リソースの無駄になります。 ...