php 判断数组里是否有某个值

如题所述

可以直接使用php内置函数in_array()来实现判断。php in_array 函数用于检查数组中是否存在某个值,如果存在,则返回true,否则返回false。

大致的编程思路:

1、所用到的函数:php in_array() 检查数组中是否存在某个值;in_array检查数组中是否存在某个值。

2、基本语法:bool in_array(mixed $needle,array $haystack,bool $strict=FALSE)

3、基本用法:在 haystack 中搜索 needle。

needle 是必需的。因为规定要在数组搜索的值。如果是字符串,则比较是区分大小写的。    

haystack 是必需的。因为规定要搜索的数组。    

扩展资料:

PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。

PHP其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。


温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-16
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

复制代码 代码如下:

$arr = array('可以','如何','方法','知道','没有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
echo "in====".$isin;
}else{
echo "out====".$isin;
}

方法二:
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array
方法三:

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict),当数据量比较大的时候,用array_key_exists比较合适,但占用的内存比较大,
数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..),内存使用比值为1:2。
具体跟内部实现有关系,在php中第一种和第二种的数据结构类似,都是关联数组。

其它补充:
查找一个元素是否在数组中,一共有下面三种做法:
in_array '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
array_key_exists(key,array)
array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
array_search(value,array,strict)
从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大的时候,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算
数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)
他们内存使用比值为1:2;
这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。
php in_array() 检查数组中是否存在某个值
in_array检查数组中是否存在某个值
基本语法:
bool in_array(mixed $needle,array $haystack,bool $strict=FALSE)

在 haystack 中搜索 needle
参数介绍

参数
描述

needle 必需。规定要在数组搜索的值。如果是字符串,则比较是区分大小写的。
haystack 必需。规定要搜索的数组。
strict 可选。如果设置该参数为 true,则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

返回值
如果找到 needle 则返回 TRUE ,否则返回 FALSE 。
实例:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<?php
$os = array(
"Mac",
"NT",
"Irix",
"Linux"
);
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>

在线运行第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为:
Got Irix本回答被提问者采纳

php 判断数组里是否有某个值
可以直接使用php内置函数in_array()来实现判断。php in_array 函数用于检查数组中是否存在某个值,如果存在,则返回true,否则返回false。大致的编程思路:1、所用到的函数:php in_array() 检查数组中是否存在某个值;in_array检查数组中是否存在某个值。2、基本语法:bool in_array(mixed $needle,ar...

检查数组中是否存在某个值?
in_array (PHP 4, PHP 5, PHP 7)in_array — 检查数组中是否存在某个值 1.说明 in_array ( mixed $needle , array $haystack , bool $strict = false ) : bool 大海捞针,在大海(haystack)中搜索针( needle),如果没有设置 strict 则使用宽松的比较。2.参数 needle 待搜索的值。注意...

PHP如何检查一个数组内是否存在指定元素
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。如果没有在数组中找到参数,函数返回 false。注释:如果 value 参...

PHP判断数组中是否存在某一数值的函数in_array
函数:in_array -- 检查数组中是否存在某个值定义:bool in_array ( mixed needle, array haystack [, bool strict] )在haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

php判断二维数组中是否含有某个值
可以使用遍历二维数组的办法判断,还可以统计出现的次数或者输出key值。代码如下:<?php$d=100;$tot=0;$cars=array(array("Volvo",100,96),array("BMW",100,59),array("Toyota",110,100));foreach($cars as $v){if(is_array($v)){foreach($v as $a){if($a==$d)$tot++;}}else...

php如何查找数组中是否含有某个元素?
1、in_array?? ‘函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。2、array_key_existsarray_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array...

php 怎么在二维数组中查看一个值是否存在
php 二维数组验证一个值是否存在,参考代码如下 arr = array( array('a', 'b'), array('c', 'd') ); in_array('a', $arr); \/\/ 此时返回的永远都是 false deep_in_array('a', $arr); \/\/ 此时返回 true 值 function deep_in_array($value, $array) { forea...

PHP判断一串字符串中是否包含数组中的某个元素
exist = in_array(true, array_map(function($r) use($val) { return strpos($val, $r) !== false;}, $arr));

PHP怎样判断一个数组中是否有的键值为空
echo in_array('', $arr);能说明数组空元素能证明数组空明显行 五、empty();cpyeh觉跟前面几种差 arr= array("","","");if(empty($arr)) echo "空";else echo "非空";结非空 例加句print_r($arr);看看...基本cpyeh能想加网找些明白网居提is_array()能php解需要翻翻手册遗憾终...

在thinkphp模板里面可以判断一个值是否在一个数组里吗?谢谢了大神_百 ...
可以啊,tp提供能了类似的标签,<in name="id" value="1,2,3">id在范围内<\/in>当然你也可以用原生的php代码判断 os = array("Mac", "NT", "Irix", "Linux");if (in_array("Irix", $os)) { echo "Got Irix";}

相似回答