php从二维数组中删除数组元素,知道2'中的元素名称;仅nd维度
抱歉,标题可能会让人困惑,但这应该会澄清 我想删除$friers['banana']记录,因为$friers['banana']['shelf_life']已过期 我可以用foreach来查找我正在检查的['shelf_life']值,但是如何找到它属于$fruits['banana']来删除它呢php从二维数组中删除数组元素,知道2'中的元素名称;仅nd维度,php,arrays,Php,Arrays,抱歉,标题可能会让人困惑,但这应该会澄清 我想删除$friers['banana']记录,因为$friers['banana']['shelf_life']已过期 我可以用foreach来查找我正在检查的['shelf_life']值,但是如何找到它属于$fruits['banana']来删除它呢 $fruits=array( 'apple' => array ('shelf_life' => 10), 'banana' => array ('shelf_life' =>
$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?
}
你可以用
根据
$shelf\u time
的值对其进行过滤。使用
或=
任何您需要的:
$fruits = array_filter($fruits, function($var) use ($shelf_time) {
return $var['shelf_life'] >= $shelf_time;
});
麻烦的是发现“苹果”是一个不可见的:)这是一个很好的答案,使用
array\u filter()
,它还将重新索引数组,如果键是numerical@Rizier123:是的,但不是。如果它是数字的,并且需要维护密钥,我有一个更好的答案。;-)
unset($fruits['apple']);
$fruits = array_filter($fruits, function($var) use ($shelf_time) {
return $var['shelf_life'] >= $shelf_time;
});