php数组(十四) in_array
in_array — 检查数组中是否存在某个值
in_array(mixed
$needle
, array $haystack
, bool $strict
= false
): bool大海捞针,在大海(haystack
)中搜索针( needle
),如果没有设置 strict
则使用宽松的比较。
参数:
needle
- 待搜索的值。
注意:
如果
needle
是字符串,则比较是区分大小写的。
haystack
- 待搜索的数组。
strict
- 如果第三个参数
strict
的值为true
则 in_array() 函数还会检查needle
的类型是否和haystack
中的相同。
1、一维数组判断是否存在某个值
<?php $a = array(1 , 2, 3, 4, 5); echo in_array(5, $a); // string(17) "No data to reduce" ?>
输出:
1
2、二维数组判断是否存在某个值
<?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、判断的参数可以是一个混合类型,例如判断数组是否存在
<?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"; } ?>
输出:
'ph' was found 'o' was found
posted on 2021-08-06 17:25 1450811640 阅读(102) 评论(0) 编辑 收藏 举报