Heim > Backend-Entwicklung > PHP-Problem > So ändern Sie den Array-Index in PHP

So ändern Sie den Array-Index in PHP

PHPz
Freigeben: 2023-04-25 10:17:34
Original
1048 Leute haben es durchsucht

In PHP müssen wir häufig den Index eines Arrays ändern, z. B. den Index neu anordnen oder den Indexwert eines bestimmten Elements ändern. In diesem Artikel werden einige häufig verwendete PHP-Funktionen und -Techniken vorgestellt, die Ihnen dabei helfen, Array-Indizes einfach zu ändern.

1. Verwenden Sie die Funktion array_values(), um die Indizes neu anzuordnen.

Wenn Ihr Array nicht zusammenhängende Indizes enthält und Sie diese Indizes neu anordnen möchten, können Sie array_values() verwenden. Funktion. Diese Funktion kann ein neues Array zurückgeben, in dem die Elemente unverändert bleiben, ihre Indizes jedoch in der Reihenfolge neu angeordnet werden.

Angenommen, Sie haben das folgende Array:

$fruits = array(2 => 'apple', 4 => 'banana', 6 => 'orange');
Nach dem Login kopieren

Die Indizes dieses Arrays sind nicht fortlaufend. Wenn Sie das Array mit der Funktion print_r() drucken, sehen Sie die folgende Ausgabe:

Array
(
    [2] => apple
    [4] => banana
    [6] => orange
)
Nach dem Login kopieren

Um die Indizes neu anzuordnen, übergeben Sie das Array wie folgt an die Funktion array_values(): #🎜🎜 #

$fruits = array_values($fruits);
Nach dem Login kopieren
Jetzt wurden die Indizes des Arrays wie folgt neu angeordnet:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Nach dem Login kopieren
Beachten Sie, dass diese Funktion ein neues Array zurückgibt, ohne das ursprüngliche Array zu ändern. Daher müssen Sie das zurückgegebene Array dem ursprünglichen Array zuweisen, um die Indexänderung zu erreichen.

2. Verwenden Sie die Funktion unset(), um Elemente zu löschen und sie mit neuen Tasten neu zuzuweisen.

Eine andere Möglichkeit besteht darin, Elemente im ursprünglichen Array mit der Funktion unset() zu löschen und mit neuen Schlüsseln neu zuweisen. Angenommen, Sie haben das folgende Array:

$colors = array('red', 'green', 'blue');
Nach dem Login kopieren
Angenommen, Sie möchten nun das „grüne“ Element entfernen und „lila“ als neuen Schlüssel verwenden. Sie können die Funktion unset() verwenden, um das Element zu entfernen und es dem neuen Array-Element neu zuzuweisen:

unset($colors[1]); // 删除'green'元素
$colors['purple'] = 'blue'; // 使用'purple'作为键重新分配'blue'元素
Nach dem Login kopieren
Jetzt sieht das Array so aus:

Array
(
    [0] => red
    [purple] => blue
)
Nach dem Login kopieren
Bitte beachten Sie, Bei dieser Methode müssen Sie vorsichtig sein, um Konflikte mit neuen Schlüsseln zu vermeiden. Wenn der neue Schlüssel mit einem vorhandenen Schlüssel in Konflikt steht, wird der Wert dieses Schlüssels überschrieben.

3. Verwenden Sie die Funktion array_combine(), um zwei Arrays zu einem neuen Array zu kombinieren.

Manchmal müssen Sie möglicherweise zwei Arrays zu einem neuen Array kombinieren und die Tasten eines verwenden Array werden als Schlüssel des neuen Arrays verwendet. Nehmen wir zum Beispiel an, Sie haben die folgenden zwei Arrays:

$keys = array('name', 'email', 'phone');
$values = array('John', 'john@example.com', '123-456-7890');
Nach dem Login kopieren
Angenommen, Sie möchten nun die Elemente im Array $keys als Schlüssel für das neue Array und die Elemente in den $values ​​verwenden ​​Array als Werte im neuen Array. Sie können diese beiden Arrays mit der Funktion array_combine() zu einem neuen Array kombinieren:

$contact = array_combine($keys, $values);
Nach dem Login kopieren
Jetzt sieht das $contact-Array so aus:

Array
(
    [name] => John
    [email] => john@example.com
    [phone] => 123-456-7890
)
Nach dem Login kopieren
Bitte beachten Sie, dass die beiden Beide Arrays müssen die gleiche Anzahl an Elementen haben. Wenn die beiden Arrays unterschiedliche Anzahlen an Elementen haben, wird eine Warnung ausgelöst und FALSE zurückgegeben.

4. Verwenden Sie die Funktion array_map(), um jedem Element einen neuen Schlüssel zuzuordnen.

Wenn Sie jedem Element einen neuen Schlüssel zuweisen möchten, ohne das ursprüngliche Array für Schlüssel zu ändern , können Sie die Funktion array_map() verwenden. Diese Funktion wendet eine Funktion auf jedes Element des angegebenen Arrays an und gibt ein neues Array zurück.

Angenommen, Sie haben das folgende Array:

$names = array('John', 'Jane', 'Bob');
Nach dem Login kopieren
Angenommen, Sie möchten dieses Array nun einem neuen Array zuordnen und dabei die Indexnummer als Schlüssel verwenden. Sie können die Funktion array_map() und eine anonyme Funktion verwenden, um dies zu erreichen:

$names = array_map(function ($value, $index) {
    return array(
        'id' => $index,
        'name' => $value
    );
}, $names, array_keys($names));
Nach dem Login kopieren
Jetzt sieht das $names-Array wie folgt aus:

Array
(
    [0] => Array
        (
            [id] => 0
            [name] => John
        )

    [1] => Array
        (
            [id] => 1
            [name] => Jane
        )

    [2] => Array
        (
            [id] => 2
            [name] => Bob
        )
)
Nach dem Login kopieren
Bitte beachten Sie, dass die Funktion gibt ein neues Array zurück. Das ursprüngliche Array bleibt davon unberührt.

Zusammenfassung

In PHP können Sie mehrere Methoden verwenden, um den Index eines Arrays zu ändern. Unabhängig davon, ob Sie den Index neu anordnen oder jedem Element einen neuen Schlüssel zuweisen, stehen Ihnen zahlreiche Techniken und Funktionen zur Auswahl. Bitte wählen Sie die geeignete Methode basierend auf Ihren spezifischen Anforderungen aus und achten Sie darauf, mögliche Schlüsselkonflikte zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Array-Index in PHP. 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