2016-08-03 43 views
-1

您好在關聯數組array_shift和unset之間有什麼區別?php array_shift vs未設置在關聯數組中

我明白如何在一個正常的數組中,如果你使用array_shift,鍵仍然存在,只有第一個值消失,但在關聯數組中,我沒有看到array_shift和unset之間的任何區別。

下面

是代碼示例:

$a=array("a"=>"red","b"=>"green","c"=>"blue"); 
    $key=key($a); 
    unset($a[$key]); 
    print_r ($a); 

    //result: Array ([b] => green [c] => blue) 

    $b=array("a"=>"red","b"=>"green","c"=>"blue"); 
    array_shift($b); 
    print_r ($b); 

    //result: Array ([b] => green [c] => blue) 
+1

'array_shift()'專門用於*將元素從數組開頭移開並返回它。 'unset()'* unsets *一個變量。閱讀文檔 - http://php.net/manual/en/function.array-shift.php - http://php.net/manual/en/function.unset.php – billyonecan

+0

你是對的,兩個版本都實現了同樣的事情。有時有幾種方法可以達到一個結果。 – Jonny

回答

1

array_shift將返回你的陣列的頭(在這種情況下進入「A」)

unset將其鍵刪除元素,說unset($a['b'])將離開你Array ([a] => red [c] => blue)