這裡有些可能會為許多新開發者節省時間的提醒:請注意不要將 FALSE 和 TRUE 解釋為整數。
例如,如果你沒有完全了解會發生什麼,一個用於刪除陣列元素的小函式可能會產生意想不到的結果。
<?php
function remove_element($element, $array)
{
$index = array_search($element, $array);
unset ($array[$index]);
return $array;
}
$array = ['A', 'B', 'C'];
$array = remove_element('A', $array);
$array = ['A', 'B', 'C'];
$array = remove_element('X', $array);
?>
這裡的問題是,雖然 array_search 在找不到特定元素時會回傳布林值 false,但在用作陣列索引時,它會被解釋為零。
所以你必須明確檢查是否為 FALSE,否則你可能會遺失某些元素。
<?php
function remove_element($element, $array)
{
$index = array_search($element, $array);
if ($index !== FALSE)
{
unset ($array[$index]);
}
return $array;
}