Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung von 3 PHP-Methoden zum Durchlaufen der Arrays list(), every() und while

Zusammenfassung von 3 PHP-Methoden zum Durchlaufen der Arrays list(), every() und while

不言
Freigeben: 2023-03-30 06:48:01
Original
3758 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Zusammenfassung der drei Methoden list(), every() und while der PHP-Schleife durch Arrays vor. Der Schwerpunkt dieses Artikels liegt auf der gemischten Verwendung dieser drei Methoden it

①each()-Funktion

each()-Funktion muss ein Array als Parameter übergeben, das Schlüssel/Wert-Paar des aktuellen Elements im Array zurückgeben, und bewegen Sie den Array-Zeiger rückwärts zum nächsten Die Position eines Elements. Schlüssel/Wert-Paare werden als gemischtes assoziatives und indiziertes Array mit 4 Elementen und den Schlüsseln 0, 1, Schlüssel und Wert zurückgegeben. Der Schlüsselname 0 ist derselbe wie der Wert, der dem Schlüssel entspricht, der der Schlüsselname des Array-Elements ist, während 1 und Wert den Wert des Array-Elements enthalten. Wenn der interne Zeiger über das Ende des Arrays hinausgeht, gibt every() FALSE zurück. Die Verwendung der Funktion every() ist wie folgt:

Code kopieren Der Code lautet wie folgt:

<?php
$contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",);
$id = each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组
print_r($id); //输出数组$id:Array([1]=>1,[value]=>1,[0]=>ID,[key]=>ID)
 
$name = each($contact); //返回数组$contact中的第二个元素的键/值对,是带有4个元素的数组
print_r($name); //输出Array([1]=>高某,[value]=>高某,[0]=>姓名,[key]=>姓名)
 
$company = each($contact);
print_r($company); //输出Array([1]=>A公司,[value]=>A公司,[0]=>公司,[key]=>公司)
 
$address = each($contact); 
print_r($address); //输出Array([1]=>北京市,[value]=>北京市,[0]=>地址,[key]=>地址)
 
$no = each($contact);
var_dump($no); //输出bool(false)
?>
Nach dem Login kopieren

②list()-Funktion

Hierbei handelt es sich nicht um eine echte Funktion, sondern um ein Sprachkonstrukt von PHP. list() weist in einem Schritt einer Reihe von Variablen Werte zu, dh weist einigen Variablen die Werte im Array zu. list() kann nur mit numerisch indizierten Arrays verwendet werden und geht davon aus, dass Array-Indizes bei 0 beginnen. Das Syntaxformat ist wie folgt:

Code kopieren Der Code lautet wie folgt:

list(mixed varname,mixed…) = array_expression
Nach dem Login kopieren

Die Verwendung der list()-Anweisung unterscheidet sich stark von anderen Funktionen , und Anstatt direkt ein Array als Parameter zu empfangen. Stattdessen wird der Wert jedes Elements im Array jedem Parameter in der Funktion list() durch Zuweisung mit dem Operator „=" zugewiesen. Die Funktion list() wiederum wandelt jeden darin enthaltenen Parameter in eine Variable um, die direkt im Skript verwendet werden kann. Die Verwendung ist wie folgt:

Kopieren Sie den Code Der Code lautet wie folgt:

<?php
$info = array(&#39;coffee&#39;,&#39;brown&#39;,&#39;caffeine&#39;);
list($drink,$color,$power) = $info;
 
list($drink,,$power) = $info; //变量的值是数组中第一个和第三个值
 
list( , ,$power) = $info; //变量值是数组中第三个元素的值
?>
Nach dem Login kopieren

Nachdem Sie die Verwendung der list()-Funktion durch das oben Gesagte verstanden haben Kombinieren Sie beispielsweise die Funktion „each()“ und die Funktion „list()“ in Kombination. Der Code lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

<?php
$contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",);
 
list($key,$value) = each($contact);
echo "$key => $value"; //输出变量$key和$value,中间使用“=>”分割
?>
Nach dem Login kopieren

③while-Schleife durchläuft das Array

Mit den Anweisungen every (zuvor eingeführt) und list() ist es nicht schwer zu verstehen, wie man eine While-Schleife zum Durchlaufen eines Arrays verwendet. Das verwendete Syntaxformat lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

while(list($key,$value) = each(array_expression)){
循环体
}
Nach dem Login kopieren

Dieses Union-Format durchläuft das angegebene Array array_expression. In jeder Schleife der while()-Anweisung weist die every()-Anweisung den Schlüssel des aktuellen Array-Elements der ersten Parametervariablen $key der list()-Funktion zu. Und weisen Sie den Wert im aktuellen Array-Element der zweiten Parametervariablen $value in der list()-Funktion zu, und nachdem die every()-Anweisung ausgeführt wurde, wird der Zeiger innerhalb des Arrays einen Schritt zurückbewegt, also beim nächsten Mal while( ) Wenn die Anweisung eine Schleife durchläuft, wird das Schlüssel/Wert-Paar des nächsten Elements im Array abgerufen. Bis zum Ende des Arrays gibt die Anweisung „each()“ FALSE zurück, und die Anweisung „while()“ stoppt die Schleife und beendet den Durchlauf des Arrays.

Code kopieren Der Code lautet wie folgt:

<?php
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com",
);
 
//以HTML列表的方式输出数组中每个元素的信息
echo &#39;<dl>一个联系人信息:&#39;;
 
while(list($key,$value) = each($contact)){
echo "<dd>$key : $value</dd>";
}
 
echo &#39;</dl>&#39;;
?>
Nach dem Login kopieren

Auf die gleiche Weise können Sie auch mehrdimensionale Arrays verschachteln und durchlaufen. Obwohl die Ergebnisse beim Durchlaufen des Arrays mit denen der freach-Anweisung identisch sind, gibt es Unterschiede zwischen den beiden Methoden. Nachdem die while-Anweisung zum Durchlaufen des Arrays verwendet wurde, hat die every()-Anweisung den internen Zeiger des übergebenen Array-Parameters auf das Ende des Arrays gerichtet. Wenn die while-Anweisung verwendet wird, um dasselbe Array erneut zu durchlaufen, befindet sich der Array-Zeiger bereits am Ende des Arrays, und die every()-Anweisung gibt direkt FALSE zurück und die while-Anweisung wird nicht in der Schleife ausgeführt. Rufen Sie die Funktion „reset()“ nur auf, bevor die while-Anweisung ausgeführt wird, um den Array-Zeiger auf das erste Element zurückzusetzen. Die foreach-Anweisung setzt die Zeigerposition des Arrays automatisch zurück. Wenn foreach mit der Ausführung beginnt, zeigt der Zeiger im Array automatisch auf die erste Einheit. Dies bedeutet, dass die Funktion „reset()“ nicht vor der foreach-Schleife aufgerufen werden muss.

Verwandte Empfehlungen:

Detaillierte Erläuterung der Deklarationsmethode für die PHP-Seitenkodierung (Header oder Meta)

php im Rundungsfunktionscode (Bodenfunktion, Deckenfunktion, Rundung und Intervall)

Das obige ist der detaillierte Inhalt vonZusammenfassung von 3 PHP-Methoden zum Durchlaufen der Arrays list(), every() und while. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage