php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,phpforeach二维数组
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,phpforeach二维数组
判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,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); } } ?>
以上程序执行时间如下图所示:
in_array()
foreach
array_search()
由上可以大致看出这三种方法在性能上的表现了吧,array_search 和 in_array 表现差不多,foreach 表现最差。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa