2011-07-24 124 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:请使用反引号来格式化代码。是的,那看起来不错。 –