Heim >Backend-Entwicklung >PHP-Problem >PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus
Im vorherigen Artikel „PHP-Array-Lernen: So sortieren Sie zweidimensionale Arrays (2 Methoden)“ haben wir etwas über zwei Methoden zum Sortieren zweidimensionaler Arrays basierend auf einem bestimmten Feld gelernt. Werfen Sie einen Blick darauf~
→Verwandte Empfehlungen: 《Zusammenfassung der PHP-Array-Lernserie (kontinuierlich aktualisiert~)》
Das Thema dieses Artikels lautet „Austauschen der Positionen von Schlüsselnamen und -werten“, in einfachen Worten ist Austausch Schlüsselnamen und Schlüsselwerte im Array.
Für diesen Vorgang gibt es in PHP eine integrierte Funktion, die über diese Funktion verfügt, nämlich die Funktion array_flip($array)
. array_flip($array)
函数。
我们通过下面的例子来具体看看
<?php $arr = array('a', 'b', '1', 2, 3); var_dump($arr); var_dump(array_flip($arr)); ?>
输出结果:
说明:$array数组中的值需要能够作为合法的键名(例如 int 或者 string),如果值的类型不对将发出一个警告,并且有问题的键值对将不会反转。
如果同一个键值出现了多次,那么最后一个键名将作为它的值,所有其他的都丢失了。
<?php $arr = array("a" => 1, "b" => 1, "c" => 2); var_dump($arr); var_dump(array_flip($arr)); ?>
输出结果:
可以看出:利用array_flip()可以非常快速的交换键名和键值。那么如果不使用array_flip()函数,要怎么交换键名和键值呢?下面给大家介绍一下。
思路:
首先使用array_keys($array)
获得数组中的键名,返回一个键名数组;
然后使用array_values($array)
获取数组中所有元素的值,返回一个键值数组;
最后使用array_combine($keys,$values)
Sehen wir uns die
<?php $arr = array('a', 'b', '1', 2, 3,'c'); var_dump($arr); //获取全部键名 $keys=array_keys($arr); //获取全部键值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
Hinweis: Der Wert im $array-Array muss ein zulässiger Schlüsselname sein (z. B. int oder string, wenn der Werttyp ist). falsch ist, wird eine Warnung ausgegeben und die betreffenden Schlüssel-Wert-Paare werden nicht umgekehrt.
Wenn derselbe Schlüsselwert mehrmals vorkommt, wird der letzte Schlüsselname als Wert verwendet und alle anderen gehen verloren.
<?php header("content-type:text/html;charset=utf-8"); $arr = array('a', 'b', '1', 2, 3,'1'); var_dump($arr); //获取全部键名 $keys=array_keys($arr); //获取全部键值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
Ausgabeergebnis:
Es ist ersichtlich, dass mit array_flip() Schlüsselnamen und Schlüsselwerte sehr schnell ausgetauscht werden können. Wenn Sie also die Funktion array_flip() nicht verwenden, wie tauschen Sie dann Schlüsselnamen und Schlüsselwerte aus? Lassen Sie mich es Ihnen unten vorstellen.
Idee:
array_keys($array)
, um die Schlüsselnamen im Array abzurufen und ein Array zurückzugeben von Schlüsselnamen ;Dann verwenden Sie array_values($array)
, um die Werte aller Elemente im Array abzurufen und ein Array von Schlüsselwerten zurückzugeben;
array_combine($keys,$values)
, um zwei Arrays zusammenzuführen, um ein neues Array zu erstellen. Der erste Parameter wird als Schlüsselname des neuen Arrays verwendet, und der zweite Parameter wird verwendet als Schlüsselwert des neuen Arrays. (Wenn Sie die Funktion array_combine() nicht kennen, können Sie den Artikel „PHP-Array-Lernen: So erstellen Sie Arrays durch Zusammenführen“ lesen.) 🎜🎜🎜🎜🎜Implementierungscode: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜 🎜🎜🎜Wenn mehrere identische Schlüssel vorhanden sind, werden sie ähnlich wie die Funktion array_flip() behandelt, wobei der letzte Schlüssel der Wert ist und alle anderen verloren gehen. 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!