2014-03-12 74 views
-2

我有這樣一個數組:多維數組,0鍵

$a = array(array('Hello','abc'), 'd'); 
var_dump($a); 

    array (size=2) 
    0 => 
    array (size=2) 
     'title' => string 'Hello' (length=40) 
     'class' => string 'abc' (length=3) 
    1 => string 'd' (length=6) 

var_dump($a[0]); 
array (size=2) 
      'title' => string 'Hello' (length=40) 
      'class' => string 'abc' (length=3) 

爲什麼美元[0]是不是空的?任何人都可以指出這一點?

//編輯

我測試過與此代碼鍵0:

If(empty($a[0])) 
{ 
    // Do A 
} 
else 
{ 
    // Do B 
} 

爲什麼這回做B超?

+1

因爲索引0的值是一個數組 – Javad

回答

3

此數組$a = array(array('Hello','abc'), 'd');等效於:

$a = array(0 => array(0 => 'Hello', 1 => 'abc'), 1 => 'd'); 

PHP將取代的那些密鑰。

+0

這是否意味着如果沒有辦法檢查鍵0值是否爲空? – Lewis

0

因爲它是指不爲空數組而你的情況是array('Hello','abc')並根據empty函數描述PHP手冊: 「確定變量是否被認爲是空的,如果它不存在或一個變量被視爲空如果它的值等於FALSE。如果變量不存在,則empty()不會生成警告。「它將返回false