in_array()的用途,是來判斷某個值是否存在陣列之中,回傳的結果就只有true或false。但是有時候我們除了要判斷他是否有在陣列中外,又要順便異動這個陣列元素,比如說「搜尋陣列中值為D的元素,並刪除他」,這時候我們就可以使用array_search()來完成這個工作。

//==================
//  刪除陣列中的D元素
//==================
//建立測試陣列
$array = array('A','B','B','D','A','C','A');

//舊的方式
foreach($array as $key => $value){
    if($value = 'D'){
        unset($array[$key]);
    }
}

//新的方式
unset($array[array_search('D',$array)]);
另外注意一點,雖然array_search()會回傳陣列key,如果要使用它來判斷陣列是否有某個值時,請注意不要寫下列的方式。
$array = array('A','B','C');
if(array_search('A',$array)) {
    echo '找到了';
} else {
    echo '沒找到';
}
/*
執行結果為:"沒找到"
事實上是有找到,只不過他回傳的key值為0
也就是第一個,但是在PHP中,0有false的意思
所以就會跑出"沒找到"的結果
*/
arrow
arrow
    全站熱搜

    低溫烘培 發表在 痞客邦 留言(1) 人氣()