在PHP之中當我們要對一個陣列(Array)搜尋是否有某個值(Value)存在時,我們會使用上的函數通常會是 in_array () 與 array_search () 這兩種方法來取得結果,但是這兩種函數回傳的結果是不同的!
in_array(); 主要的功能在於查詢是否存在,若存在則回傳TRUE,若是不存在則回傳FLASE,它單純是一個用來判斷條件是否純在陣列的功能,而且使用的方法也相當的簡單。
array_search(); 主要的功能除了查詢是否存在外,它會回傳搜尋到的KEY值,意味著你能夠利用這個KEY值直接套用到你的程式中,可以直接使用這個搜尋到的變數,它的使用方法也相當的簡單。
而該在什麼時候使用哪一種指令,主要取決於設計者的經驗以及當時的程式需求,下方會進行基本的範例介紹,希望能夠給看官們一點點概念。
in_array(要搜尋的值,被搜尋的陣列);
☆in_array的回傳值是布林值,也就是TRUE或是FALSE,因此可以直接丟進判斷式作為使用。
範例:
<?php $data = array("FaceBook", "Google", "Yahoo"); if(in_array("FaceBook",$data)){ echo "找到"; } else { echo "沒找到"; } ?>
輸出結果:
找到
array_search(要搜尋的值,被搜尋的陣列);
☆基本上array_search與in_array的使用結構相同,但差別在於它的回傳值為目標的key值,當陣列中沒有可以滿足條件的答案時,則不回傳資料
範例:
<?php $data = array("FaceBook", "Google", "Yahoo"); $key = array_search("Google",$data); echo "Key值為:".$key; ?>
輸出結果:
Key值為:1
進階用法:
<?php $data_1 = array("FaceBook", "Google", "Yahoo"); $data_2 = array("http://facebook.com", "http://google.com", "http://yahhoo.com"); $key = array_search("FaceBook",$data_1); echo "網址:".$data_2[$key]; ?>
輸出結果:
網址:http://facebook.com
參考資訊:
https://www.php.net/manual/en/function.in-array.php
https://www.php.net/manual/en/function.array-search.php
更多 PHP 相關文章 列表:https://richarlin.tw/blog/php/
Pingback: PHP 文章列表 - RicharLin.Tw