Konvertierung einer PHP-Array-Schleife

王林
Freigeben: 2023-05-19 20:00:47
Original
655 Leute haben es durchsucht

In der PHP-Programmierung sind Arrays eine der häufigsten Datenstrukturen. Mithilfe von Arrays können wir große Mengen zusammengehöriger Daten speichern, organisieren und darauf zugreifen. In vielen Fällen müssen wir eine Reihe von Vorgängen für Arrays ausführen, z. B. Suchen, Sortieren, Filtern usw. Unter diesen ist die Array-Schleifenkonvertierung ein relativ wichtiger Vorgang. In diesem Artikel wird detailliert beschrieben, wie PHP zur Implementierung der Array-Schleifenkonvertierung verwendet wird.

1. Grundstruktur der Array-Schleife

In PHP können wir for, foreach und andere Schleifenanweisungen verwenden, um ein Array zu durchlaufen. Das Folgende ist die Grundstruktur einer for-Schleife:

for ($i = 0; $i < count($array); $i++) {
  // do something with $array[$i]
}
Nach dem Login kopieren

Der gleiche Effekt kann mit der foreach-Anweisung erzielt werden:

foreach ($array as $value) {
  // do something with $value
}
Nach dem Login kopieren

2. Array-Konvertierungsmethoden

In PHP können wir die folgenden zwei Methoden zum Konvertieren von Arrays verwenden:

  1. Array-Funktionen verwenden

PHP bietet eine große Anzahl von Funktionen zum Ausführen verschiedener Operationen an Arrays, von denen einige zum Konvertieren von Arrays verwendet werden können. Hier sind einige häufig verwendete Funktionen:

  • array_map(): wendet eine Rückruffunktion auf jedes Element im Array an und gibt ein neues Array zurück.
  • array_filter(): verwendet die Rückruffunktion, um die Elemente im Array zu filtern und gibt ein neues zurück Array von
  • array_reduce(): Reduzieren Sie das Array auf einen einzelnen Wert und geben Sie diesen Wert zurück

Hier ist ein Beispiel für die Verwendung der Funktion array_map() zum Quadrieren jedes Elements im Array:

$array = array(1, 2, 3, 4, 5);
$new_array = array_map(function($x){ return $x * $x; }, $array);
print_r($new_array);
Nach dem Login kopieren

Die Ausgabe lautet:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
Nach dem Login kopieren
Nach dem Login kopieren

Beachten Sie, dass wir bei Verwendung der Funktion array_map() eine Rückruffunktion als Parameter übergeben müssen. Diese Rückruffunktion verwendet ein Argument (den Wert jedes Elements) und gibt einen Wert zurück, um das Element zu ersetzen.

  1. Schleifenstruktur verwenden

Wir können das Array durchlaufen und es mithilfe der for- oder foreach-Anweisung konvertieren. Das Folgende ist ein Beispiel für die Verwendung einer for-Schleife, um die Elemente in einem Array zu quadrieren:

$array = array(1, 2, 3, 4, 5);
$new_array = array();
for ($i = 0; $i < count($array); $i++) {
  $new_array[] = $array[$i] * $array[$i];
}
print_r($new_array);
Nach dem Login kopieren

Das Ausgabeergebnis ist auch:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
Nach dem Login kopieren
Nach dem Login kopieren

3. Stapelkonvertierungsoperation

Angenommen, wir haben ein zweidimensionales Array mit den folgenden Daten:

$data = array(
  array('name' => '张三', 'age' => 19, 'gender' => '男'),
  array('name' => '李四', 'age' => 21, 'gender' => '女'),
  array('name' => '王五', 'age' => 20, 'gender' => '男'),
);
Nach dem Login kopieren

Jetzt müssen wir es in das folgende Format konvertieren:

$new_data = array(
  array('姓名' => '张三', '年龄' => 19, '性别' => '男'),
  array('姓名' => '李四', '年龄' => 21, '性别' => '女'),
  array('姓名' => '王五', '年龄' => 20, '性别' => '男'),
);
Nach dem Login kopieren

Wir können eine foreach-Schleife verwenden, um diese Operation auszuführen:

$new_data = array();
foreach ($data as $values) {
  $new_data[] = array('姓名' => $values['name'], '年龄' => $values['age'], '性别' => $values['gender']);
}
print_r($new_data);
Nach dem Login kopieren

Das Ausgabeergebnis ist wie folgt:

Array
(
    [0] => Array
        (
            [姓名] => 张三
            [年龄] => 19
            [性别] => 男
        )

    [1] => Array
        (
            [姓名] => 李四
            [年龄] => 21
            [性别] => 女
        )

    [2] => Array
        (
            [姓名] => 王五
            [年龄] => 20
            [性别] => 男
        )

)
Nach dem Login kopieren

4. Notizen

  1. Das Original Array wird nicht geändert

In PHP generieren Schleifenkonvertierungsvorgänge normalerweise ein neues Array, ohne das ursprüngliche Array zu ändern. Daher sollte darauf geachtet werden, den Wert des ursprünglichen Arrays beim Betrieb nicht zu ändern.

  1. Rückruffunktion

Wenn wir Array-Funktionen zur Konvertierung verwenden, müssen wir eine Rückruffunktion als Parameter übergeben. Wenn die Rückruffunktion auf einige externe Variablen zugreifen muss, müssen Sie einen Abschluss verwenden, um die Rückruffunktion zu definieren, um sicherzustellen, dass sie korrekt auf die externen Variablen zugreifen kann.

  1. Index des Arrays

Bei der Schleifenkonvertierungsoperation müssen wir auf den Index des Arrays achten. Wenn wir den Index des neuen Arrays nicht explizit angeben, weist PHP automatisch den Indexwert zu, normalerweise beginnend bei 0 und aufsteigend.

5. Zusammenfassung

Array in PHP ist eine sehr nützliche Datenstruktur, und die Schleifenkonvertierung ist eine sehr wichtige Operation unter ihnen. Wir können for-, foreach-Schleifenstrukturen oder Array-Funktionen wie array_map, array_filter, array_reduce usw. verwenden, um eine Array-Konvertierung zu erreichen. Während des Vorgangs müssen Sie darauf achten, den Wert des ursprünglichen Arrays nicht zu ändern, und Sie müssen auf den Index des Arrays achten. Ich hoffe, dass dieser Artikel den Lesern dabei helfen kann, die Konvertierung von Array-Schleifen in PHP zu meistern.

Das obige ist der detaillierte Inhalt vonKonvertierung einer PHP-Array-Schleife. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!