首頁  >  文章  >  後端開發  >  php怎麼偵測數組中是否包含某字串

php怎麼偵測數組中是否包含某字串

青灯夜游
青灯夜游原創
2022-07-22 19:24:286934瀏覽

兩種檢測方法:1、使用in_array函數檢測,可以查找數組中是否包含指定類型的值,語法“in_array('字串',數組,true)”,如果傳回值為TRUE則包含,反之則不包含。 2.使用array_search()函數檢測,可以查找數組中是否包含指定類型的值,語法“array_search('字串',數組,true)”,如果返回對應鍵名則包含,如果返回FALSE則不包含。

php怎麼偵測數組中是否包含某字串

本教學操作環境: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 為空或FALSE,則in_array() 函數只會檢查$needle 的值是否和$array 中的值相等;
    • #如果$strict的值為TRUE,in_array() 函數除了檢查$needle 和$array 中的值之外,還會比較它們的類型是否相等。

想要使用in_array函數偵測數組中是否包含某字串,只需要將第一個參數設為指定字串,第三個參數設定為TRUE(用於確保元素值和搜尋值的類型一致)

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    &#39;name&#39;  =>&#39;PHP中文网&#39;,
    &#39;url&#39;   =>&#39;https://www.php.cn/&#39;,
    &#39;title&#39; =>&#39;PHP教程&#39;,
    &#39;pid&#39;   =>1234
);
var_dump($array);
if(in_array(&#39;PHP教程&#39;, $array, true)){
    echo &#39;数组中包含字符串“PHP教程”<br><br>&#39;;
}else{
    echo &#39;数组中不包含字符串“PHP教程”<br><br>&#39;;
}
if(in_array(&#39;1234&#39;, $array, true)){
    echo &#39;数组中包含字符串“1234”<br><br>&#39;;
}else{
    echo &#39;数组中不包含字符串“1234”<br><br>&#39;;
}
?>

php怎麼偵測數組中是否包含某字串

#方法2:使用array_search()函數偵測

array_search() 函數可以在陣列中搜尋給定的值,如果成功則傳回首個對應的鍵名,函數的語法格式如下:

array_search($needle, $haystack[, $strict = false])

參數說明如下:

  • $needle:為要搜尋的值,如果$needle 為字串類型,則在搜尋時區分大小寫;
  • $haystack:為一個陣列;
  • $strict:可選參數,可以為空,預設為False。
    • 如果 $strict 為 False,則 array_search() 在 $haystack 中搜尋 $needle 時僅會比較值,不比較型別。
    • 如果 $strict 為 True,則 array_search() 在 $haystack 中搜尋 $needle 時會同時比較值和類型。

array_search() 函數如果找到了 $needle 則傳回它的鍵,否則傳回 False。

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    &#39;name&#39;  =>&#39;PHP中文网&#39;,
    &#39;url&#39;   =>&#39;https://www.php.cn/&#39;,
    &#39;title&#39; =>&#39;PHP教程&#39;,
    &#39;pid&#39;   =>1234,
     &#39;level&#39; => 1111,
);
var_dump($array);
var_dump(array_search(&#39;1234&#39;, $array, true));
var_dump(array_search(&#39;PHP教程&#39;, $array));
var_dump(array_search(&#39;1111&#39;, $array, true));
var_dump(array_search(1111, $array, true));
?>

php怎麼偵測數組中是否包含某字串

說明:如果 $needle 在 $haystack 中出現不只一次,則僅會傳回第一個符合的鍵。若要傳回所有符合值的鍵,應該用 array_keys() 函數來取代。

推薦學習:《PHP影片教學

以上是php怎麼偵測數組中是否包含某字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn