从数字数组中查找和删除特定项目

时间:2012-10-04 19:08:51

标签: php arrays if-statement

$list = array('red', 'blue', 'white', 'green', 'black', 'orange', 'brown', 'violet', 'magenta'); 

在执行var_dump($ list)之前,如何删除具有键[3]的项目和值为“orange”的项目,然后删除没有这些项目的var_dump($ list)?

(必须使用“if”声明 - 学校作业)

3 个答案:

答案 0 :(得分:0)

foreach ($list as $key => &$value)
{
    if ($value == 'orange' || $key == 3)
    {
        unset($list[$key])
    }

    echo $value . "\n";
}

你尝试了什么?解决问题将有助于您成为更好的程序员。

答案 1 :(得分:0)

没有循环

    $list = array('red', 'blue', 'white', 'green', 'black', 'orange', 'brown', 'violet', 'magenta'); 
    unset($list[3]);
    unset($list[array_search('orange', $list)]);
    var_dump($list);

答案 2 :(得分:0)

使用上面的foreach可以解决问题,或者您可以使用只需要使用“if”语句的标准。

将上述两个答案结合起来可以提供更有效的解决方案:

unset($list[3]);
if (($key = array_search('orange', $list)) !== false)
    unset($list[$key]);
print_r($list);

unset只是从数组中删除了该元素。我会得到'orange'的$ key,如果它存在,然后取消设置,最后打印数组。