Maison >développement back-end >Problème PHP >Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés
Dans l'article précédent "Apprentissage des tableaux PHP : Comment trier les tableaux bidimensionnels (2 méthodes)", nous avons découvert deux méthodes de tri des tableaux bidimensionnels en fonction d'un certain champ. Les amis dans le besoin peuvent en savoir plus. regarde~
→Recommandations associées : 《Résumé de la série d'apprentissage des tableaux PHP (mis à jour en permanence~)》
Le thème de cet article est "Échanger les positions des noms et des valeurs de clé", qui est simplement un échange de noms de clé. et les valeurs clés dans le tableau.
Pour cette opération, il existe une fonction intégrée en PHP qui a cette fonction, à savoir la fonction 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)
Regardons de plus près les résultats de sortie
<?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); ?>
Remarque : La valeur dans le tableau $array doit être un nom de clé légal (tel que int ou string si le type de valeur est). incorrect, un avertissement sera émis et les paires clé-valeur en question ne seront pas inversées.
Si la même valeur de clé apparaît plusieurs fois, le dernier nom de clé sera utilisé comme valeur et tous les autres seront perdus.
<?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); ?>
Résultat de sortie :
On peut voir que array_flip() peut être utilisé pour échanger très rapidement des noms de clés et des valeurs de clés. Donc, si vous n'utilisez pas la fonction array_flip(), comment échanger les noms de clés et les valeurs de clés ? Laissez-moi vous le présenter ci-dessous.
Idée :
array_keys($array)
pour obtenir les noms de clés dans le tableau et renvoyer un tableau de noms de clés ;Utilisez ensuite array_values($array)
pour obtenir les valeurs de tous les éléments du tableau et renvoyer un tableau de valeurs clés ;
array_combine($ key,$values)
pour fusionner deux tableaux afin de créer un nouveau tableau. Le premier paramètre sera utilisé comme nom de clé du nouveau tableau et le deuxième paramètre sera utilisé. comme valeur clé du nouveau tableau. (Si vous ne connaissez pas la fonction array_combine(), vous pouvez lire l'article "Apprentissage des tableaux PHP : Comment créer des tableaux en fusionnant") 🎜🎜🎜🎜🎜Code d'implémentation : 🎜rrreee🎜Résultat de sortie : 🎜🎜 🎜🎜🎜S'il y a plusieurs clés identiques, elles sont traitées de la même manière que la fonction array_flip(), avec la dernière clé comme valeur et toutes les autres perdues. 🎜rrreee🎜Résultat de sortie : 🎜🎜🎜🎜🎜D'accord, c'est tout si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!