2012-10-04 21 views
0
$list = array('red', 'blue', 'white', 'green', 'black', 'orange', 'brown', 'violet', 'magenta'); 

移除特定項目做的var_dump($列表)之前,我怎麼能去除具有關鍵[3],並與價值「橙色」項項,然後後續代碼var_dump($列表)沒有這些項目?查找並從數字陣列

(有 「如果」 語句中使用 - 作業)

+5

unset()和array_search();確定使用**如果**然後一個foreach()循環和==和unset()將罰款 – 2012-10-04 19:09:54

+0

http://php.net/manual/en/function.array-search.php –

回答

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

    echo $value . "\n"; 
} 

你有什麼儘管試過嗎?解決問題可以幫助你成爲更好的程序員。

+3

你給他的確切答案,*然後*問他試過了什麼!? – 2012-10-04 19:13:00

0

沒有循環

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

問題可能利用上述的foreach來解決,或者你可以使用,你只需要使用一個「if」語句的標準。

兩個答案結合上面將給出更有效的解決方案:

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

取消設置簡單地消除了來自陣列元件。如果存在,我將獲得'橙'的$鍵,然後取消設置,最後打印數組。