PHP中如何深度解析in_array()函数的用法和原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计541个文字,预计阅读时间需要3分钟。
在PHP中,数组是常见的数据类型。我们常将数据集放入数组中,但在后续的数据验证时,由于数据复杂,通过遍历会增加空间和时间复杂度。为了优化,PHP内置了`in_array()`函数。
PHP中数组是常见的数据类型,我们经常会将数据集放入数组中,但在后续的数据验证时,往往因为数据的繁杂,通过遍历会大大增加空间、时间复杂度,PHP中内置了in_array()函数,帮助我们解决这一麻烦,本文就带大家来看一看。
首先,自然看一看in_array()函数的语法知识:
in_array ( mixed $needle , array $haystack , bool $strict = false )
$needle:待搜索的值。
$haystack:待搜索的数组。
$strict:若为 true 则 会检查$needle的类型是否和$haystack中的相同,即"==="
返回值:如果找到$needle则返回 true,否则返回 false。
其次,我们来看一看在实际过程中的使用。
1.默认使用两个参数
<?php $os = array("Mac", "Windows", "Unix", "Linux"); if (in_array("Irix", $os)) { echo "得到了 Irix"; }else{ echo "没有 Irix"; } echo "<br>"; if (in_array("mac", $os,false) ){ echo "有mac"; }else{ echo "没有mac"; } ?>
输出:没有 Irix 没有mac
我们会发现 in_array()是区分大小写的。
2.默认使用三个参数
<?php $os = array("Mac", "Windows", "11", "Linux"); if (in_array("11", $os)) { echo "得到了 11"; }else{ echo "没有 11"; } echo "<br>"; if (in_array(11, $os,true) ){ echo "有11"; }else{ echo "没有11"; } ?>
输出:得到了 11 没有11
没有设置$strict 则使用宽松的比较,若设置值为true还会检查类型是否相同。
本文共计541个文字,预计阅读时间需要3分钟。
在PHP中,数组是常见的数据类型。我们常将数据集放入数组中,但在后续的数据验证时,由于数据复杂,通过遍历会增加空间和时间复杂度。为了优化,PHP内置了`in_array()`函数。
PHP中数组是常见的数据类型,我们经常会将数据集放入数组中,但在后续的数据验证时,往往因为数据的繁杂,通过遍历会大大增加空间、时间复杂度,PHP中内置了in_array()函数,帮助我们解决这一麻烦,本文就带大家来看一看。
首先,自然看一看in_array()函数的语法知识:
in_array ( mixed $needle , array $haystack , bool $strict = false )
$needle:待搜索的值。
$haystack:待搜索的数组。
$strict:若为 true 则 会检查$needle的类型是否和$haystack中的相同,即"==="
返回值:如果找到$needle则返回 true,否则返回 false。
其次,我们来看一看在实际过程中的使用。
1.默认使用两个参数
<?php $os = array("Mac", "Windows", "Unix", "Linux"); if (in_array("Irix", $os)) { echo "得到了 Irix"; }else{ echo "没有 Irix"; } echo "<br>"; if (in_array("mac", $os,false) ){ echo "有mac"; }else{ echo "没有mac"; } ?>
输出:没有 Irix 没有mac
我们会发现 in_array()是区分大小写的。
2.默认使用三个参数
<?php $os = array("Mac", "Windows", "11", "Linux"); if (in_array("11", $os)) { echo "得到了 11"; }else{ echo "没有 11"; } echo "<br>"; if (in_array(11, $os,true) ){ echo "有11"; }else{ echo "没有11"; } ?>
输出:得到了 11 没有11
没有设置$strict 则使用宽松的比较,若设置值为true还会检查类型是否相同。

