方法:1、用“in_array(值,數組)”,若返回TRUE則存在,反之不存在;2、用“array_search(值,數組)”,若返回鍵名則存在,返回FALSE則不存在;3、用“array_keys(數組,值)”,若返回的數組為空則不存在。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php判斷一個數字是否在一個數組中的方法
1、使用in_array()
in_array() 函數可以查找數組中是否包含某個值,如果存在則返回 TRUE,不存在則返回 FALSE。語法格式如下:
in_array($needle, $array[, $strict = FALSE])
參數說明如下:
- $needle:為待搜索的值,如果 $needle 是字符串,則在比較時區(qū)分大小寫;
- $array:為待搜索的數組;
- $strict:為可選參數,默認為 FALSE。
- 如果 $strict 為空或者 FALSE,則 in_array() 函數只會檢查 $needle 的值是否和 $array 中的值相等;
- 如果 $strict 的值為 TRUE,in_array() 函數除了會檢查 $needle 和 $array 中的值之外,還會比較它們的類型是否相等。
<?php header('content-type:text/html;charset=utf-8'); $array = [3,"hello",2,"2","1",4,6]; if(in_array(1, $array, true)){ echo '數組中包含1<br>'; }else{ echo '數組中不包含1<br>'; } if(in_array(1, $array)){ echo '數組中包含1<br>'; }else{ echo '數組中不包含1<br>'; } ?>
2、使用array_search()
array_search(value,array,strict)
函數在數組中搜索某個鍵值;如果在數組中找到指定的鍵值,則返回對應的鍵名,否則返回 FALSE。
參數strict 可選。如果該參數被設置為 TRUE,則函數在數組中搜索數據類型和值都一致的元素。可能的值:
-
true
-
false – 默認
如果設置為 true,則在數組中檢查給定值的類型,數字 5 和字符串 5 是不同的(參見實例 2)。
<?php header('content-type:text/html;charset=utf-8'); $array = [3,"hello",2,"5","1",4,6]; if(array_search(5, $array, true)){ echo '數組中包含5<br>'; }else{ echo '數組中不包含5<br>'; } if(in_array(5, $array)){ echo '數組中包含5<br>'; }else{ echo '數組中不包含5<br>'; } ?>
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('content-type:text/html;charset=utf-8'); $array = [3,"hello",2,"5","1",4,6]; if(array_keys($array,5, true)==[]){ echo '數組中不包含5<br>'; }else{ echo '數組中包含5<br>'; } if(array_keys($array,5)==[]){ echo '數組中不包含5<br>'; }else{ echo '數組中包含5<br>'; } ?>
推薦學習:《PHP視頻教程》