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

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

(必须使用“if”语句 - 学校作业)

4

3 回答 3

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

    echo $value . "\n";
}

你试过什么?解决问题将帮助您成为更好的程序员。

于 2012-10-04T19:11:55.503 回答
0

无循环

    $list = array('red', 'blue', 'white', 'green', 'black', 'orange', 'brown', 'violet', 'magenta'); 
    unset($list[3]);
    unset($list[array_search('orange', $list)]);
    var_dump($list);
于 2012-10-04T19:14:49.550 回答
0

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

结合上面的两个答案将提供更有效的解决方案:

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

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

于 2012-10-04T19:42:39.110 回答