Home >Backend Development >PHP Tutorial >Performance comparison of using in_array() foreach array_search() in php to find whether the array contains, phpforeach two-dimensional array_PHP tutorial
determine whether a certain character is included in the array, method There are many. Newbies who have just learned PHP are probably more likely to use loops to solve it. For ordinary small websites, this solution will not cause any big problems. But in terms of performance, this method is not the best method. Below, the author will compare the performance differences of these three methods, foreach and in_array() array_search.
<?php $runtime= new runtime; $runtime->start(); $a = 'k'; $b = array('a','b','c','d','e','f','g','h','i','j','k'); /* for ($i=0; $i < 100000; $i++) { var_dump(in_array($a, $b)); } */ /* for ($i=0; $i < 100000; $i++) { foreach ($b as $key => $value) { if ($a == $value) { //echo TRUE; continue; } } } */ /* for ($i=0; $i < 100000; $i++) { array_search($a, $b); } */ $runtime->stop(); echo $_b; echo "执行时间: ".$runtime->spent()." 毫秒"; class runtime{ var $StartTime = 0; var $StopTime = 0; function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return ((float)$usec + (float)$sec); } function start(){ $this->StartTime = $this->get_microtime(); } function stop(){ $this->StopTime = $this->get_microtime(); } function spent(){ return round(($this->StopTime - $this->StartTime) * 1000, 1); } } ?>
The execution time of the above program is shown in the figure below:
in_array()
foreach
array_search()
From the above, you can roughly see the performance of these three methods. array_search and in_array perform almost the same, and foreach performs the worst.