分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » 移动互联 » 学习之路 » PHP中in_array()、array_search()、array_key_exists()之间的差别
  • PHP中in_array()、array_search()、array_key_exists()之间的差别

    PHP中in_array()、array_search()、array_key_exists()之间的差别-BanYuner

    前几天我在实现一个功能的时候,需要用到in_array()这个内置的PHP函数,但是说实话,PHP函数很多,我并不知道能否找到一个比这个还要简单的了,经过寻找貌似没有找到,但是我扎到了一个比较有学习意义的文章,这里我直接转载过来了,有兴趣的用户可以直接看看。

    in_array()

    格式

    这个函数的使用格式为:

    in_array(value,array,type)
    

    解释

    这个功能的解释是:该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,即恒等于。

    例子

    那么通过下面的例子我们可能会理解的更加清楚:

    <?php
    $people = array("Peter", "Joe", "Glenn", "Cleveland"); //数组
    if(in_array("Glenn",$people)){ //判断指定变量是否存在与数组中
      echo "Match found";
    }else{
      echo "Match not found";
    }
    ?>
    

    那么上面的函数最后输出的就是:Match found,也就是说找到了。

    array_search()

    格式

    这个函数的使用格式为:

    array_key_exists(key,array)
    

    解释

    这个功能的解释是:该函数是判断某个数组array中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。

    例子

    那么通过下面的例子我们可能会理解的更加清楚:

    <?php
    $a=array("a"=>"Dog","b"=>"Cat");
    if(array_key_exists("a",$a)){
     echo "Key exists!";
    }else{
     echo "Key does not exist!";
    }
    ?>
    

    那么上面的函数最后输出的就是:Key exists!,也就是说找到了。

    array_search()

    格式

    这个函数的使用格式为:

    array_search(value,array,strict)
    

    解释

    这个功能的解释是:array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,则返回匹配该元素所对应的键名。如果没找到,则返回 false。注意在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。同样如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

    例子

    那么通过下面的例子我们可能会理解的更加清楚:

    <?php
    $a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5");
    echo array_search("Dog",$a);
    echo array_search("5",$a);
    ?>
    

    那么上面的函数最后输出的就是:ad,也就是说找到了。

    这个函数和上面的函数看上去可能是一样的功能,但是有些时候我们需要用到变量的下标的时候,使用这个函数就会比上面的函数要实用的多了,具体的就要看个人需求了。

    总结

    三个函数的功能看起来是差不多的,但是有些时候我们想让PHP运行的更加流畅的话,就需要一定的配合了,比如先判断某个变量是否存在与某个数组中,存在就继续操作,不存在直接跳出,这样的效率可能比你直接使用in_array()来的效率不少吧。

    关注我们 错误反馈 打赏 分享此文
    • 微信扫码,关注我们

    • 扫码,支持我

      PHP中in_array()、array_search()、array_key_exists()之间的差别

      支付宝

    • 扫码,支持我

      PHP中in_array()、array_search()、array_key_exists()之间的差别

      微信

    • 扫码,手机看

      PHP中in_array()、array_search()、array_key_exists()之间的差别
    PHP中in_array()、array_search()、array_key_exists()之间的差别
    3 + 5 =