在 PHP 中,有許多方法可以判斷某個數字是否在陣列內,本文將詳細介紹這些方法,同時也會介紹其他一些陣列運算元。
in_array() 函數可以判斷值是否在數組中,其語法如下:
in_array($value, $array, $strict)
#其中,$ value 參數表示要尋找的值,$array 參數表示要搜尋的數組,$strict 參數表示資料類型是否嚴格匹配,可以省略,預設為false。如果找到值,則傳回 true,否則傳回 false。
範例程式碼如下:
$fruits = array("apple", "banana", "orange"); if (in_array("apple", $fruits)) { echo "苹果在数组中存在!"; } else { echo "苹果不在数组中存在!"; }
輸出結果為:
苹果在数组中存在!
array_search() 函數可以尋找數組中指定的值,並傳回對應的鍵名,如果找不到則傳回false。其語法如下:
array_search($value, $array, $strict)
其中,$value 參數表示要尋找的值,$array 參數表示要搜尋的數組,$strict 參數表示資料類型是否嚴格匹配,可以省略,預設為 false。
範例程式碼如下:
$fruits = array("apple", "banana", "orange"); $key = array_search("banana", $fruits); if ($key !== false) { echo "香蕉在数组中的键名为:" . $key; } else { echo "香蕉不在数组中存在!"; }
輸出結果為:
香蕉在数组中的键名为:1
如果要找出某個值是否存在,可以像下面這樣使用:
$fruits = array("apple", "banana", "orange"); if (array_search("orange", $fruits) !== false) { echo "橘子在数组中存在!"; } else { echo "橘子不在数组中存在!"; }
輸出結果為:
橘子在数组中存在!
有些情況下,既需要知道某個值在不在數組中,又需要知道它的鍵名,這時可以結合in_array() 和array_search() 兩個函數,同時判斷。
範例程式碼如下:
$fruits = array("apple", "banana", "orange"); if (in_array("banana", $fruits) && ($key = array_search("banana", $fruits)) !== false) { echo "香蕉在数组中的键名为:" . $key; } else { echo "香蕉不在数组中存在!"; }
輸出結果為:
香蕉在数组中的键名为:1
array_key_exists() 函數可以判斷指定的鍵名是否存在於陣列中,其語法如下:
array_key_exists($key, $array)
其中,$key 參數表示要尋找的鍵名,$array 參數表示要搜尋的陣列。如果找到鍵名,則傳回 true,否則傳回 false。
範例程式碼如下:
$fruits = array("apple" => 0, "banana" => 1, "orange" => 2); if (array_key_exists("banana", $fruits)) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
輸出結果為:
香蕉在数组中存在!
isset() 函數可以判斷指定的鍵名是否存在於陣列中,其語法如下:
isset($array[$key])
其中,$key 參數表示要尋找的鍵名,$array 參數表示要搜尋的陣列。如果找到鍵名,則傳回 true,否則傳回 false。
範例程式碼如下:
$fruits = array("apple" => 0, "banana" => 1, "orange" => 2); if (isset($fruits["orange"])) { echo "橘子在数组中存在!"; } else { echo "橘子不在数组中存在!"; }
輸出結果為:
橘子在数组中存在!
注意:使用isset() 函數時要注意,如果鍵名對應的值為null,也會傳回false,因此不能準確判斷某個鍵名是否存在於數組中。
array_diff() 函數可以求兩個陣列差集,也就是傳回在第一個陣列中但不在後面陣列中的所有值。因此,如果將要尋找的值作為第一個數組,將原始數組作為第二個數組,查找結果為差集為空,則表示它在原始數組中存在。
範例程式碼如下:
$fruits = array("apple", "banana", "orange"); if (count(array_diff(array("banana"), $fruits)) == 0) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
輸出結果為:
香蕉在数组中存在!
preg_grep() 函數可以使用正規表示式來匹配數組元素,傳回符合的所有元素。因此,如果將要尋找的值作為正規表示式,將原始數組作為參數,並尋找結果為非空數組,則表示它在原始數組中存在。
範例程式碼如下:
$fruits = array("apple", "banana", "orange"); if (count(preg_grep("/banana/", $fruits)) > 0) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
輸出結果為:
香蕉在数组中存在!
以上就是在PHP 中判斷某個數是否在陣列內的各種方法,我們可以根據實際需求選擇適合自己的方法來操作。除此之外,還有許多其他的陣列操作函數,例如 array_merge()、array_slice()、array_reverse() 等等,我們可以根據不同的需求選擇不同的函數來使用。
以上是php怎麼判斷某個數字是否在陣列內的詳細內容。更多資訊請關注PHP中文網其他相關文章!