面接での 2 つの質問

WBOY
リリース: 2016-06-23 13:37:56
オリジナル
867 人が閲覧しました

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 は空を返し、偽の分岐に入ります
2.

$array の anykey ['anykey'] は文字列内の Anykey です

$array[anykey] は定数です

E_NOTICE レベルのエラーがブロックされる場合、この 2 つは同じです


モデレーターはとても早く起きたと言いたいだけです。 。

1. $a=$b
$b には値がないので null です $a=$b の後は $a も null なので if($a) は null または false
文を追加すると

$b= 1;

if ($a=$b) printf("a==b");

else printf("a!=b");

これは true を返します

2.
$array[ 'anykey'] と $array[anykey]
一重引用符が追加されていない場合、システムは自動的にそれを追加し、見つからない場合は再度検索します。それも同じですが、追加しないと通知が来て何度も確認する必要があり、リソースの無駄になります。 ...

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