2011-07-24 178 views
0

我需要從多維數組中刪除。從多維數組中刪除

我的陣列看起來如下

Array(
    0 => Array(
     0 => "My Album", 
     1 => "Testphoto2011-222231.jpg" 
    ), 
    1 => Array(
     0 => "Test Album", 
     1 => "12345.jpg" 
    ) 
); 

我想要做的就是尋找價值"My Album",然後刪除該數組中的整個陣列。

因此,例如值"My Album" & "Testphoto2011-222231.jpg"屬於array[0]。找到時我想刪除array[0]

任何人都可以幫助我嗎?

回答

0

unset($array[0])將從數組中移除該條目。

1
<?php 
$ar = Array(
    Array(
     "My Album", 
     "Testphoto2011-222231.jpg" 
    ), 
    Array(
     "Test Album", 
     "12345.jpg" 
    ) 
); 

// Not using foreach, or ascending counting, because 
// element removal will screw that up. 
for ($i = count($ar) - 1; $i >= 0; $i--) { 
    if ($ar[$i][0] == "My Album") 
     unset($ar[$i]); 
} 

$ar = array_values($ar); // re-index 

var_export($ar); 

/* Output: 
array (
    0 => 
    array (
    0 => 'Test Album', 
    1 => '12345.jpg', 
), 
) 
*/ 
?> 

Live demo.

+0

輝煌,謝謝,我只是有一個問題,我的陣列在一個會議上,我用這個代碼 爲($ I =計數($ _ SESSION [ '相冊']) - 1 ($ _SESSION ['albums'] [$ i] [0] == $ album) unset($ _ SESSION ['albums'] [$ i]); $ i> = 0; $ i--){ ; } $ _SESSION ['albums'] = array_values($ _ SESSION ['albums']); // re-index var_export($ _ SESSION ['albums']); 這是正確的嗎?目前它沒有更新會話數組 – Wayne

+0

@Wayne:請使用反引號來格式化代碼。是的,那看起來不錯。 –