2013-05-17 66 views
1

假設我有在PHP這樣的陣列:如何從PHP中刪除數組中的索引?

$ray = 

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [0] => 1 
      [ip] => 127.0.0.1 
      [1] => 127.0.0.1 
      [username] => local_me 
      [2] => local_me 
      [last_visit] => 2013-05-17 02:12:07 
      [3] => 2013-05-17 02:12:07 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [0] => 2 
      [ip] => 127.2.2.3 
      [1] => 127.2.2.3 
      [username] => Anonymous42 
      [2] => Anonymous42 
      [last_visit] => 2013-05-16 16:07:46 
      [3] => 2013-05-16 16:07:46 
     ) 

) 

我想刪除ip(和「1」也)此數組的所有元素「列」。我怎樣才能做到這一點?

謝謝!

回答

4
foreach ($ray as &$item) 
    unset($item['ip'],$item[1]); 
+0

謝謝!我想我懶得寫兩行代碼:) – void

+0

@Mark Parnell,你爲什麼在'&$ item'處使用'&'? – Luis

+1

要傳遞該項[通過引用](http://php.net/manual/en/language.references.php),以便更新原始數組。 –

1

這個問題之前,這裏有人問:PHP Remove key from associative array

這真的很簡單,從數組中刪除一個關鍵,只要使用unset方法。

foreach($ray as $key => $value){ 
    if(array_key_exists('id', $value){ 
     unset($ray[$key]['id']; 
    } 
    elseif(array_key_exists('1', $value){ 
     unset($ray[$key]['1']; 
    } 
} 

當然,也有一些更多的選擇,這樣做更有效率,我只是試着舉一個例子。

+0

謝謝!但對我而言,簡單的定義是「少量代碼行」,我試圖直接找到(如果存在)函數。不過謝謝你的努力! – void