2017-02-22 6 views
0

このコードを実行すると、予告なしにNULLが返されます。ブール型のインデックスをダンプするときにnullを取得する

$a = false; 
var_dump($a[5]); 

これは誰が説明できますか?定義されていない配列のキーにアクセスしようと

+2

インデックス5には何もありませんか? – Swift

+0

ブール変数をダンプする必要はありますか? – Thamilan

+0

@スウィフト5は、例えば、あなたが10や20で試すことができます... –

答えて

1

は、他の未定義の変数へのアクセスと同じ ある:E_NOTICE-level エラーメッセージが発行され、その結果はNULLあろう。ストリングサイレント ないスカラー値を逆参照

アレイはエラーメッセージを発行せずNULL、すなわちが得られます。

これについての詳細を参照してください:http://php.net/manual/en/language.types.array.php

+0

しかし、私は気づいていない、これは私が混乱している理由です。 (私の通知は有効です)。 –

+0

私の答えの中で2番目の点を読んでください..... **文字列ではなく、NULLを静かに出す、つまりエラーメッセージを出さないで** – Naincy

+0

出力するもの$ a = []; var_dump($ a [5]); ? –

0

あなたがアレイ状にブール変数にアクセスしていることはできません。

<?php 
    $a = array(true, false, true, true, false, false); 
    var_dump($a[5]); 
?> 
+0

いいえ、私はホーブ作成配列を知っている)))。なぜ私は何か通知をhaventない私の質問? –

0
:あなたがそれにアクセスしている
指数5は、あなたがブール値を持つ配列を作成する場合、それはコードの下
チェック可能であるのvar_dump
にnullを取得している理由であること $aでは使用できません。

エラーメッセージの表示を制御する2つのPHP構成変数があります。

最初はdisplay_errorsです。 Onに設定されている場合、エラーメッセージが出力に表示されます。

もう1つはerror_reportingです。表示するエラーの重大度を定義します。

両方の設定は、実行時にini_setを使用して変更できます。

関連する問題