php数组(十四) in_array

in_array — 检查数组中是否存在某个值

in_array(mixed $needlearray $haystackbool $strict = false): bool

大海捞针,在大海(haystack)中搜索针( needle),如果没有设置  strict 则使用宽松的比较。

参数:

needle

  • 待搜索的值。

注意: 

如果 needle 是字符串,则比较是区分大小写的。

haystack

  • 待搜索的数组。

strict

  • 如果第三个参数 strict 的值为 true 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

 

1、一维数组判断是否存在某个值

1
2
3
4
5
6
7
8
9
10
<?php
 
 
$a = array(1 , 2, 3, 4, 5);
 
echo in_array(5, $a);
 
 
// string(17) "No data to reduce"
?>

 输出:

1
1

 

2、二维数组判断是否存在某个值

1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
 
$a = array(1 => 'a', 2, 3, 4, 5, 0);
echo in_array(5, $a); // 返回1
 
echo in_array('a', $a); //返回1
 
echo in_array('', $a); //返回1
echo in_array('', $a, true); //返回0
 
?>

 输出: 对于二维简单的key=>value的形式,会搜索所有的键和值 例如 key:5 和值:a都会返回true;

默认为弱类型校验,设置第三个参数为true,则为强类型校验

 

3、判断的参数可以是一个混合类型,例如判断数组是否存在

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
 
if (in_array(array('p', 'h'), $a)) {
    echo "'ph' was found\n";
}
 
if (in_array(array('f', 'i'), $a)) {
    echo "'fi' was found\n";
}
 
if (in_array('o', $a)) {
    echo "'o' was found\n";
}
?>

 输出:

1
2
'ph' was found
'o' was found

 

posted on   1450811640  阅读(104)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示