首頁  >  文章  >  後端開發  >  php中怎麼判斷一個元素有沒有在陣列中

php中怎麼判斷一個元素有沒有在陣列中

青灯夜游
青灯夜游原創
2021-12-30 19:08:209849瀏覽

方法:1、使用in_array()函數,可偵測數組中是否存在指定元素值,語法「in_array(元素值,陣列)」;2、使用array_search()函數,可在陣列中搜尋指定元素值,語法「array_search(元素值,陣列)」。

php中怎麼判斷一個元素有沒有在陣列中

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php中判斷一個元素有沒有在陣列中

方法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() 函數只適用於在一維陣列中尋找某個元素,不會遞迴尋找陣列中每個維度的元素。

範例:使用in_array() 函數判斷陣列中是否包含某個值

<?php
header("Content-type:text/html;charset=utf-8");
$sites = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
if (in_array("a", $sites))
{
    echo "指定元素在数组中";
}
else
{
    echo "指定元素不在数组中";
}
?>

php中怎麼判斷一個元素有沒有在陣列中

2、使用array_search()函數

array_search() 函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。

如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回 FALSE。如果在陣列中找到鍵值超過一次,則傳回第一次找到的鍵值所符合的鍵名。

該函數的語法格式如下:

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

參數說明如下:

  • $needle:為要搜尋的值,如果$needle 為字符字串類型,則在搜尋時區分大小寫;
  • $haystack:為一個陣列;
  • $strict:可選參數,可以為空,預設為False。
    • 如果 $strict 為 False,則 array_search() 在 $haystack 中搜尋 $needle 時僅會比較值,不比較型別。
    • 如果 $strict 為 True,則 array_search() 在 $haystack 中搜尋 $needle 時會同時比較值和類型。
<?php
header("Content-type:text/html;charset=utf-8");
$sites = array("a"=>"red","b"=>"green","c"=>"blue");
if (array_search("red",$sites))
{
    echo "指定元素在数组中";
}
else
{
    echo "指定元素不在数组中";
}
echo "<br>指定元素的键名为:".array_search("red",$sites);
?>
?>

php中怎麼判斷一個元素有沒有在陣列中

推薦學習:《PHP影片教學

以上是php中怎麼判斷一個元素有沒有在陣列中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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