首頁 >後端開發 >PHP問題 >php怎麼判斷一個數字是否在一個陣列中

php怎麼判斷一個數字是否在一個陣列中

青灯夜游
青灯夜游原創
2022-05-24 20:23:005880瀏覽

方法:1、用“in_array(值,數組)”,若返回TRUE則存在,反之不存在;2、用“array_search(值,數組)”,若返回鍵名則存在,返回FALSE則不存在;3、用“array_keys(數組,值)”,若傳回的陣列為空則不存在。

php怎麼判斷一個數字是否在一個陣列中

本教學操作環境:windows7系統、PHP8.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 中的值之外,還會比較它們的類型是否相等。
<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array = [3,"hello",2,"2","1",4,6];
if(in_array(1, $array, true)){
    echo &#39;数组中包含1<br>&#39;;
}else{
    echo &#39;数组中不包含1<br>&#39;;
}
if(in_array(1, $array)){
    echo &#39;数组中包含1<br>&#39;;
}else{
    echo &#39;数组中不包含1<br>&#39;;
}
?>

php怎麼判斷一個數字是否在一個陣列中

2、使用array_search()

array_search(value, array,strict) 函數在陣列中搜尋某個鍵值;如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回FALSE。

參數strict 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:

  • true

  • false - 預設

    如果設定為true,則在陣列中檢查給定值的類型,數字5 和字串5 是不同的(參見實例2)。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array = [3,"hello",2,"5","1",4,6];
if(array_search(5, $array, true)){
    echo &#39;数组中包含5<br>&#39;;
}else{
    echo &#39;数组中不包含5<br>&#39;;
}
if(in_array(5, $array)){
    echo &#39;数组中包含5<br>&#39;;
}else{
    echo &#39;数组中不包含5<br>&#39;;
}
?>

php怎麼判斷一個數字是否在一個陣列中

3、使用array_keys()

rray_key() 函數可以取得陣列中的部分或所有鍵名,此函數語法格式如下:

array_keys($array [, $search_value = null [, $strict = false]])

參數說明如下:

  • #        $array:必選參數,為待操作的陣列;
  •         $search_value:可選參數,如果參數為空,則函數會傳回數組中的所有鍵名,如果指定了該參數,則函數只會傳回值為 $search_value 的鍵名;
  •         $strict:可選參數,判斷在搜尋的時候是否使用嚴格模式,$strict 預設為false,也就是非嚴格模式,在搜尋時只比較類型,不比較類型,若將$strict 設為true,也就是嚴格模式,在搜尋時同時比較值和類型,等價於===

array_key() 函數會以陣列形式傳回所得的陣列鍵名。

尋找指定鍵值的鍵名,如果傳回的陣列為空數組,則不在該數組中。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array = [3,"hello",2,"5","1",4,6];
if(array_keys($array,5, true)==[]){
    echo &#39;数组中不包含5<br>&#39;;
}else{
    echo &#39;数组中包含5<br>&#39;;
}
if(array_keys($array,5)==[]){
    echo &#39;数组中不包含5<br>&#39;;
}else{
    echo &#39;数组中包含5<br>&#39;;
}
?>

php怎麼判斷一個數字是否在一個陣列中

推薦學習:《PHP影片教學

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

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