Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie den Schlüsselwert in ein PHP-Array

So konvertieren Sie den Schlüsselwert in ein PHP-Array

PHPz
PHPzOriginal
2023-04-17 15:16:541128Durchsuche

PHP ist eine objektorientierte Programmiersprache, die eine leistungsstarke Array-Verarbeitungsfunktion bietet. In der tatsächlichen Entwicklung stoßen wir häufig auf Situationen, in denen wir Arrays anpassen müssen. Eine der häufigsten Anforderungen besteht darin, die Schlüssel des Arrays zu konvertieren. In diesem Artikel wird die Konvertierung von Schlüsseln in PHP-Arrays vorgestellt und den Lesern ausführlich erläutert, auf welche Probleme bei diesem Prozess geachtet werden muss.

1. Verwenden Sie die Funktion array_combine()

Die Funktion array_combine() ist eine Funktion in PHP, die zum Zusammenführen zweier Arrays und zum Generieren eines neuen Arrays verwendet wird. Die Verwendung ist wie folgt:

array_combine(array $keys, array $values) : array

Der erste Parameter $keys dieser Funktion ist ein Array, das den Schlüsselnamen des neuen Arrays darstellt; der zweite Parameter $values ​​​​ist auch ein Array, das den Schlüsselwert des neuen Arrays darstellt. Ihre Anzahl an Elementen muss gleich sein, andernfalls wird false zurückgegeben.

Die Reihenfolge der Elemente in den Arrays $keys und $values ​​muss eins zu eins übereinstimmen. Beispielsweise entspricht das erste Element des Arrays $keys dem ersten Element des Arrays $values.

Das Folgende ist ein Beispiel, das ein Array $name mit einer Zahl als Index in ein Array $new_name mit einer Zeichenfolge als Index konvertiert:

$name = array('0' => 'Alice', '1' => 'Bob', '2' => 'Carol');
$new_name = array_combine(array('a', 'b', 'c'), $name);
print_r($new_name);

Das Ausgabeergebnis ist:

Array
(
    [a] => Alice
    [b] => Bob
    [c] => Carol
)

In diesem Beispiel das Array $name Numerische Indizes werden in String-Indizes umgewandelt, während die Werte im Array unverändert bleiben. Dies liegt daran, dass wir die Funktion array_combine() verwendet und ihr neue Schlüsselnamen gegeben haben.

2. Verwenden Sie die Funktion array_flip()

Die Funktion array_flip() ist eine Funktion in PHP, die zum Austausch von Schlüsseln und Werten in einem Array verwendet wird. Die Verwendung ist wie folgt:

array_flip(array $trans) : array

Der Parameter $trans dieser Funktion ist ein Array, das das ausgetauschte Array darstellt. Es wird ein neues Array zurückgegeben, wobei die Schlüssel im ursprünglichen Array zu Werten im neuen Array werden und die Werte im ursprünglichen Array zu Schlüsseln im neuen Array werden.

Das Folgende ist ein Beispiel, das ein Array $age mit einer Zahl als Index in ein Array $info mit einem Alterswert als Index konvertiert:

$age = array('Alice' => 25, 'Bob' => 35, 'Carol' => 30);
$info = array_flip($age);
print_r($info);

Das Ausgabeergebnis ist:

Array
(
    [25] => Alice
    [35] => Bob
    [30] => Carol
)

In diesem Beispiel ist $age Array-String-Indizes werden in numerische Indizes umgewandelt, während die Werte im Array unverändert bleiben. Dies liegt daran, dass wir die Funktion array_flip() verwendet und ihr das Array $age übergeben haben.

Es ist zu beachten, dass bei doppelten Werten im ursprünglichen Array die konvertierten Schlüssel die vorherigen Schlüssel überschreiben. Daher müssen Sie bei Verwendung der Funktion array_flip() sicherstellen, dass die Werte im ursprünglichen Array eindeutig sind.

3. Verwenden Sie die Funktion array_map()

Die Funktion array_map() ist eine Funktion in PHP, die zum Anwenden einer Rückruffunktion auf jedes Element eines Arrays verwendet wird. Die Verwendung ist wie folgt:

array_map(callable $callback, array ...$arrays) : array

Der erste Parameter dieser Funktion, $callback, ist eine Rückruffunktion, die auf jedes Element im Array angewendet wird. Das Array nach dem zweiten Parameter ist das Array, das bedient werden muss. Ihre Anzahl an Elementen ist möglicherweise nicht gleich. Diese Funktion generiert ein neues Array, dessen jedes Element der Rückgabewert der $callback-Funktion ist.

Das Folgende ist ein Beispiel, das ein Array $price mit einem numerischen Index in ein Array $actual_price mit einem Gleitkomma-Index konvertiert:

$price = array('Alice' => 10, 'Bob' => 15.5, 'Carol' => 20);
$actual_price = array_map(function($p) { return round($p * 0.8, 2); }, $price);
print_r($actual_price);

Die Ausgabe lautet:

Array
(
    [Alice] => 8.00
    [Bob] => 12.40
    [Carol] => 16.00
)

In diesem Beispiel verwenden wir die Funktion array_map( ) und übergeben sie eine Callback-Funktion dazu. Diese Funktion multipliziert jeden Preiswert mit 0,8, rundet auf zwei Dezimalstellen und gibt dann einen neuen Preiswert zurück. Schließlich erhalten wir ein neues Array $actual_price, in dem der Index zum Namen der Person wird und der Wert im Array der berechnete tatsächliche Preis ist.

Es ist zu beachten, dass die Funktion $callback einen Wert zurückgeben muss, andernfalls wird eine Warnung generiert.

4. Foreach-Schleife verwenden

Zusätzlich zu den oben genannten Funktionen können Sie die Schlüssel des Arrays auch manuell konvertieren, indem Sie eine foreach-Schleife verwenden. Das Folgende ist ein Beispiel, das ein Array $id mit einem numerischen Index in ein Array $name_id mit einem String-Index konvertiert:

$id = array(1001, 1002, 1003);
$name = array('Alice', 'Bob', 'Carol');
$name_id = array();
foreach($id as $i => $val) {
    $name_id[$name[$i]] = $val;
}
print_r($name_id);

Das Ausgabeergebnis ist:

Array
(
    [Alice] => 1001
    [Bob] => 1002
    [Carol] => 1003
)

In diesem Beispiel verwenden wir eine foreach-Schleife und das Array ist innerhalb der Schleife transformiert. Konkret durchlaufen wir jedes Element im Array $id und verwenden den Index des Elements, um den entsprechenden Wert aus dem Array $name abzurufen. Anschließend fügen wir dieses neue Schlüssel-Wert-Paar zum Array $name_id hinzu.

Es ist zu beachten, dass Sie bei Verwendung einer foreach-Schleife einen Verweis auf das Array verwenden müssen, wenn Sie die Elemente im Array ändern möchten.

5. Zusammenfassung

Dieser Artikel stellt vor, wie man Schlüssel in PHP-Arrays konvertiert, einschließlich Methoden mit der Funktion array_combine(), der Funktion array_flip(), der Funktion array_map() und der foreach-Schleife. Jede dieser Methoden weist unterschiedliche Eigenschaften auf und je nach tatsächlichem Bedarf können unterschiedliche Methoden ausgewählt werden.

Bei der Verwendung dieser Methoden ist zu beachten, dass der neue Schlüsselname eindeutig sein muss und unterschiedliche Methoden zu unterschiedlichen Ergebnissen führen können. Daher müssen Sie beim Konvertieren der Schlüssel eines Arrays sorgfältig überlegen und eine geeignete Methode auswählen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie den Schlüsselwert in ein PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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