Heim php教程 PHP源码 php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比_php技巧

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比_php技巧

May 25, 2016 pm 05:12 PM
array_search foreach in_array

这篇文章主要介绍了php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,需要的朋友可以参考下

判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,in_array() array_search 这三种方法来比较这三种方法在性能表现上的差异。

<?php
$runtime= new runtime;
$runtime->start();
    $a = &#39;k&#39;;
    $b = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,&#39;j&#39;,&#39;k&#39;);

/*
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(&#39; &#39;, 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);
  }
}
?>
Nach dem Login kopieren

以上程序执行时间如下图所示:

in_array()

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

foreach

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

array_search()

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

由上可以大致看出这三种方法在性能上的表现了吧,array_search 和 in_array 表现差不多,foreach 表现最差。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Was ist der Unterschied zwischen der Verwendung von foreach und iterator zum Löschen von Elementen beim Durchlaufen von Java ArrayList? Apr 27, 2023 pm 03:40 PM

1. Der Unterschied zwischen Iterator und foreach ist der polymorphe Unterschied (die unterste Ebene von foreach ist Iterator ein Schnittstellentyp, und es ist egal, ob for und foreach der Typ bekannt ist). 1. Warum heißt es, dass die unterste Ebene von foreach der von Iterator geschriebene Code ist: 2. Der Unterschied zwischen „remove in foreach“ und „iterator“. im Alibaba Java Development Manual, aber in Fall 1 wird kein Fehler gemeldet, und in Fall 2 wird zuerst ein Fehler gemeldet (java. util.ConcurrentModificationException).

So bestimmen Sie die Anzahl der foreach-Schleifen in PHP So bestimmen Sie die Anzahl der foreach-Schleifen in PHP Jul 10, 2023 pm 02:18 PM

​Die Schritte für PHP, um die Nummer der foreach-Schleife zu bestimmen: 1. Erstellen Sie ein Array von „$fruits“; 2. Erstellen Sie eine Zählervariable „$counter“ mit einem Anfangswert von 0. 3. Verwenden Sie „foreach“, um eine Schleife durchzuführen durch das Array und Erhöhen Sie den Wert der Zählervariablen im Schleifenkörper und geben Sie dann jedes Element und seinen Index aus. 4. Geben Sie den Wert der Zählervariablen außerhalb der „foreach“-Schleife aus, um zu bestätigen, welches Element die Schleife erreicht.

PHP gibt ein Array mit umgedrehten Schlüsseln zurück PHP gibt ein Array mit umgedrehten Schlüsseln zurück Mar 21, 2024 pm 02:10 PM

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

PHP gibt das aktuelle Element in einem Array zurück PHP gibt das aktuelle Element in einem Array zurück Mar 21, 2024 pm 12:36 PM

In diesem Artikel wird das aktuelle Element im von PHP zurückgegebenen Array ausführlich erläutert. Der Herausgeber hält es für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Das aktuelle Element in einem PHP-Array abrufen PHP bietet eine Vielzahl von Methoden für den Zugriff auf und die Bearbeitung von Arrays, einschließlich des Abrufens des aktuellen Elements in einem Array. Im Folgenden werden einige häufig verwendete Techniken vorgestellt: 1. Funktion current() Die Funktion current() gibt das Element zurück, auf das der interne Zeiger des Arrays aktuell zeigt. Der Zeiger zeigt zunächst auf das erste Element des Arrays. Verwenden Sie die folgende Syntax: $currentElement=current($array);2.key() Funktion Die Funktion key() gibt das Element zurück, auf das der interne Zeiger des Arrays aktuell zeigt

Was ist der Unterschied zwischen foreach und for-Schleife? Was ist der Unterschied zwischen foreach und for-Schleife? Jan 05, 2023 pm 04:26 PM

Unterschiede: 1. for durchläuft jedes Datenelement über den Index, während forEach die Datenelemente des Arrays über das zugrunde liegende JS-Programm durchläuft. 2. for kann die Ausführung der Schleife über das Schlüsselwort break beenden, forEach jedoch nicht . for kann die Ausführung der Schleife steuern, indem es den Wert der Schleifenvariablen steuert, forEach jedoch nicht. 4. for kann Schleifenvariablen außerhalb der Schleife aufrufen, forEach kann jedoch keine Schleifenvariablen außerhalb der Schleife aufrufen ist höher als forEach.

Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen? Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen? Nov 18, 2023 pm 06:10 PM

Wie kann ich mit der Funktion forEach die Eigenschaften eines Objekts durchlaufen? In JavaScript müssen wir häufig die Eigenschaften von Objekten durchlaufen. Wenn Sie die Eigenschaften eines Objekts auf prägnante Weise durchlaufen möchten, ist die Funktion forEach eine sehr gute Wahl. In diesem Artikel erklären wir, wie Sie die Funktion forEach verwenden, um die Eigenschaften eines Objekts zu durchlaufen, und stellen spezifische Codebeispiele bereit. Lassen Sie uns zunächst die grundlegende Verwendung der forEach-Funktion verstehen. forEach-Funktion ist Java

Detaillierte Erläuterung der Verwendung der PHP-Funktion in_array() Detaillierte Erläuterung der Verwendung der PHP-Funktion in_array() Jun 27, 2023 am 10:18 AM

Es gibt viele praktische Funktionen in PHP, unter denen die Funktion in_array() eine der am häufigsten verwendeten Funktionen ist. In diesem Artikel wird die Verwendung der Funktion in_array() ausführlich vorgestellt. Zunächst wird mit der Funktion in_array() überprüft, ob ein Wert in einem Array vorhanden ist. Wenn es existiert, geben Sie true zurück; wenn es nicht existiert, geben Sie false zurück. Die Syntax der Funktion in_array() lautet wie folgt: in_array($needle,$haystack,$strict) Parameter

So erhalten Sie den Indexwert des aktuellen Elements in der PHP-Foreach-Schleife So erhalten Sie den Indexwert des aktuellen Elements in der PHP-Foreach-Schleife Mar 23, 2023 am 09:17 AM

In PHP wird die foreach-Anweisung häufig zum Durchlaufen von Arrays und Objekten verwendet. Während der Schleife müssen wir manchmal das aktuelle Element der Schleife abrufen. In diesem Artikel wird erläutert, wie Sie den Indexwert des aktuellen Elements in der PHP-foreach-Schleife abrufen.

See all articles