php在数组中查找指定值是否存在的方法有很多,在不了解的情况下我们通常会用foreach循环的方式来查找,但是这样的方法效率太差了,今天简单介绍三种PHP内置数组相关的搜索函数。
分别是函数in_array()、array_search()、array_key_exists()。<?php $people = array("Bill", "Steve", "Mark", "David"); if (in_array("Mark", $people)) { echo "匹配已找到"; } else { echo "匹配未找到"; } ?>2.array_search(value,array,strict)
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_search("red",$a); ?>3.array_key_exists(key,array)
<?php $a=array("Volvo"=>"XC90","BMW"=>"X5"); if (key_exists("Toyota",$a)) { echo "键存在!"; } else { echo "键不存在!"; } ?>经过实际性能对比,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为性能上的瓶颈。但当数据量比较大的时候,用 array_key_exists 比较合适。据测试 array_key_exist 要比 in_array 效率高十几甚至几十倍。