在使用PHP程式設計時,使用內建函數可以讓程式碼更簡單,更有效率。其中,in_array() 函數是一個非常實用的函數,可以用來判斷特定的值是否曾在陣列中出現過。
in_array() 是 PHP 的內建函數,用來判斷特定的值是否在陣列中存在。它的基本用法很簡單:in_array($value, $array)
,其中$value
是要找的值,$array
是要尋找的數組。函數傳回 true 或 false。
假設我們有一個陣列$fruits
,它包含一些水果的名稱:
$fruits = array("apple", "banana", "mango", "kiwi", "orange");
現在我們想要檢查三個不同的值是否在這個陣列中:
$value1 = "banana"; $value2 = "grape"; $value3 = "orange";
我們可以分別使用in_array() 函數:
if (in_array($value1, $fruits)) { echo "$value1 是一个水果."; } else { echo "$value1 不是一个水果."; } if (in_array($value2, $fruits)) { echo "$value2 是一个水果."; } else { echo "$value2 不是一个水果."; } if (in_array($value3, $fruits)) { echo "$value3 是一个水果."; } else { echo "$value3 不是一个水果."; }
執行這段程式碼後,我們會得到以下結果:
banana 是一个水果. grape 不是一个水果. orange 是一个水果.
這段程式碼首先使用in_array( ) 函數檢查$value1
是否在$fruits
陣列中。由於 "banana" 出現在數組中,因此條件為真,會輸出 "banana 是一個水果."。之後的兩個條件檢查$value2
和$value3
是否出現在$fruits
數組中,由於"grape" 不在數組中,因此輸出"grape 不是一個水果.";而"orange" 在數組中,因此輸出"orange 是一個水果."。
我們也可以使用一個陣列來檢查多個值是否在$fruits
陣列中:
$values = array("banana", "grape", "orange", "peach"); foreach ($values as $value) { if (in_array($value, $fruits)) { echo "$value 是一个水果. "; } else { echo "$value 不是一个水果. "; } }
輸出結果為:
banana 是一个水果. grape 不是一个水果. orange 是一个水果. peach 不是一个水果.
in_array() 函數的第三個參數是一個布林值,用於控制是否啟用類型比較。預設情況下,它是 false(不啟用),因此 in_array() 只會比較值而不會比較類型。
$haystack = array(1, "1", "2"); if (in_array("1", $haystack)) { echo "'1' 存在于 haystack 数组中 "; // 打印 } if (in_array("1", $haystack, true)) { echo "'1' 存在于 haystack 数组中 "; // 不打印,因为类型不匹配 }
輸出結果為:
'1' 存在于 haystack 数组中
第二個 in_array() 表達式啟用了第三個參數 true
,表示比較值和類型。由於 $haystack
陣列中只有一個值為數字1,而我們正在尋找一個字串 "1",因此第二個條件不會成立。
in_array() 函數只能搜尋鍵值,但在PHP 中還有一個函數array_key_exists(),可以搜尋一個鍵名是否在陣列中出現過。
$array = array("a" => "apple", "b" => "banana", "c" => "orange"); if (array_key_exists("a", $array)) { echo "数组中存在 'a' 键 "; } else { echo "数组中没有 'a' 键 "; } if (array_key_exists("d", $array)) { echo "数组中存在 'd' 键 "; } else { echo "数组中没有 'd' 键 "; }
輸出結果為:
数组中存在 'a' 键 数组中没有 'd' 键
in_array() 函數是PHP 程式設計中非常常用的函數,用來檢查某個值是否在陣列中出現過。它的基本用法非常簡單,只需要傳入需要查找的值和陣列。對於需要檢查鍵名是否存在的情況,則需要使用 array_key_exists() 函數。
以上是PHP函數primer:in_array()的詳細內容。更多資訊請關注PHP中文網其他相關文章!