2017-11-15 11 views

答えて

1

説明が言うように:

非数値文字列のオフセットを - 例えば$ a ['foo']ここで、$ aは文字列です。-isset()ではfalseを返し、empty()ではtrueを返し、それらを使用しようとするとE_WARNINGを生成します。

double型、bool型、およびnull型のオフセットは、E_NOTICEを生成します。

数値文字列(例:$ a ['2'])は以前と同じように動作します。 '12 .3 'や' 5 foobar 'のようなオフセットは非数値とみなされ、E_WARNINGを生成しますが、下位互換性の理由から、それぞれ12と5に変換されます。

注:次のコードは異なる結果を返します。

$str='abc';var_dump(isset($str['x'])); 
// false for PHP 5.4 or later, but true for 5.3 or less 

にのみ文字列として扱われる文字列に変更されます。たとえば、次のインデックスでアクセスされたとき

$test = "str"; 

$test = ['s','t','r']; 

に等しいです。 PHP 5.4、

$test[2] will return 'r' 
$test["2"] will also return 'r' 
$test[2.3] will also return 'r' 
$test["a"] will return false 
isset($test["a"]) will return true 
empty($test["a"]) will return false 

PHP 5.4

$test[2] will return 'r' 
$test["2"] will also return 'r' 
$test[2.3] will also return 'r', but with a warning 
$test["a"] will return false and produce a warning 
isset($test["a"]) will return false 
empty($test["a"]) will return true 

だから、

$_POSTが本当の配列で、stringが本当の鍵であり、それは変化しなかった後これに空の行為。

関連する問題