PHP中in_array()函数的深度解析

2021041909085411045.jpg

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还会检查类型是否相同。

推荐:2021年PHP面试题大汇总(收藏)》《php视频教程

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...