php从2维数组中删除数组元素,仅知道2&n;维度中的元素名称

时间:2015-03-31 14:51:04

标签: php arrays

抱歉,标题可能令人困惑,但这应该澄清。

我想删除$ fruits ['banana']记录,因为$ fruits ['banana'] ['shelf_life']已过期。

我可以做一个foreach来找到我正在检查的['shelf_life']值,但我怎么发现它属于$ fruits ['banana']来删除它?

$fruits=array(
'apple' => array ('shelf_life' => 10),
'banana' => array ('shelf_life' => 5),
'orange' => array ('shelf_life' => 7)
)

$shelf_time = 6

// I want to remove expired fruits from array

foreach($fruits as $v1){
    if ($v1['shelf_life']<$shelf_time)
    //remove matching $fruits array record 'banana'... how?
}

我想要的结果是

$fruits=array(
'apple' => array ('shelf_life' => 10),
'orange' => array ('shelf_life' => 7)
)

2 个答案:

答案 0 :(得分:2)

根据$shelf_time的值对其进行过滤。根据您的需要使用>>=

$fruits = array_filter($fruits, function($var) use ($shelf_time) {
                                    return $var['shelf_life'] >= $shelf_time;
                                });

答案 1 :(得分:0)

您可以使用unset

unset($fruits['apple']);