兩種檢測方法:1、使用in_array函數檢測,可以查找數組中是否包含指定類型的值,語法“in_array('字串',數組,true)”,如果傳回值為TRUE則包含,反之則不包含。 2.使用array_search()函數檢測,可以查找數組中是否包含指定類型的值,語法“array_search('字串',數組,true)”,如果返回對應鍵名則包含,如果返回FALSE則不包含。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php偵測陣列中是否包含某字串有兩種方法:
使用in_array函數偵測
使用array_search()函數偵測
方法1:使用in_array函數偵測
in_array() 函數可以找出陣列中是否包含某個值,如果存在則傳回TRUE,不存在則傳回FALSE 。
in_array($needle, $array[, $strict = FALSE])
參數說明如下:
$needle:為待搜尋的值,如果$needle 是字串,則在比較時區分大小寫;
$array:為待搜尋的陣列;
#$strict:為可選參數,預設為FALSE。
#如果$strict的值為TRUE,in_array() 函數除了檢查$needle 和$array 中的值之外,還會比較它們的類型是否相等。
想要使用in_array函數偵測數組中是否包含某字串,只需要將第一個參數設為指定字串,第三個參數設定為TRUE(用於確保元素值和搜尋值的類型一致)
<?php header("Content-type:text/html;charset=utf-8"); $array = array( 'name' =>'PHP中文网', 'url' =>'//m.sbmmt.com/', 'title' =>'PHP教程', 'pid' =>1234 ); var_dump($array); if(in_array('PHP教程', $array, true)){ echo '数组中包含字符串“PHP教程”<br><br>'; }else{ echo '数组中不包含字符串“PHP教程”<br><br>'; } if(in_array('1234', $array, true)){ echo '数组中包含字符串“1234”<br><br>'; }else{ echo '数组中不包含字符串“1234”<br><br>'; } ?>
#方法2:使用array_search()函數偵測
array_search() 函數可以在陣列中搜尋給定的值,如果成功則傳回首個對應的鍵名,函數的語法格式如下:
array_search($needle, $haystack[, $strict = false])
參數說明如下:
array_search() 函數如果找到了 $needle 則傳回它的鍵,否則傳回 False。
<?php header("Content-type:text/html;charset=utf-8"); $array = array( 'name' =>'PHP中文网', 'url' =>'//m.sbmmt.com/', 'title' =>'PHP教程', 'pid' =>1234, 'level' => 1111, ); var_dump($array); var_dump(array_search('1234', $array, true)); var_dump(array_search('PHP教程', $array)); var_dump(array_search('1111', $array, true)); var_dump(array_search(1111, $array, true)); ?>
說明:如果 $needle 在 $haystack 中出現不只一次,則僅會傳回第一個符合的鍵。若要傳回所有符合值的鍵,應該用 array_keys() 函數來取代。
推薦學習:《PHP影片教學》
以上是php怎麼偵測數組中是否包含某字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!