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