Heim > Backend-Entwicklung > PHP-Problem > PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

青灯夜游
Freigeben: 2023-03-12 08:08:02
Original
3405 Leute haben es durchsucht

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(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
var_dump($arr);
var_dump(array_flip($arr));
?>
Nach dem Login kopieren

输出结果:

PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

说明:$array数组中的值需要能够作为合法的键名(例如 int 或者 string),如果值的类型不对将发出一个警告,并且有问题的键值对将不会反转。

如果同一个键值出现了多次,那么最后一个键名将作为它的值,所有其他的都丢失了。

<?php
$arr = array("a" => 1, "b" => 1, "c" => 2);
var_dump($arr);
var_dump(array_flip($arr));
?>
Nach dem Login kopieren

输出结果:

PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

可以看出:利用array_flip()可以非常快速的交换键名和键值。那么如果不使用array_flip()函数,要怎么交换键名和键值呢?下面给大家介绍一下。

思路:

  • 首先使用array_keys($array)获得数组中的键名,返回一个键名数组;

  • 然后使用array_values($array)获取数组中所有元素的值,返回一个键值数组;

  • 最后使用array_combine($keys,$values)Sehen wir uns die

    <?php
    $arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3,&#39;c&#39;);
    var_dump($arr);
    
    //获取全部键名
    $keys=array_keys($arr);
    //获取全部键值
    $values=array_values($arr);
    $flip=array_combine($values,$keys);
    
    var_dump($flip);
    ?>
    Nach dem Login kopieren

    Ausgabeergebnisse anhand des folgenden Beispiels genauer an:

  • PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

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(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3,&#39;1&#39;);
var_dump($arr);

//获取全部键名
$keys=array_keys($arr);
//获取全部键值
$values=array_values($arr);
$flip=array_combine($values,$keys);

var_dump($flip);
?>
Nach dem Login kopieren

Ausgabeergebnis: PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

3. png

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: PHP-Array-Lernen: So tauschen Sie die Positionen von Schlüsselnamen und -werten aus

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!

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