Maison > développement back-end > Problème PHP > Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

青灯夜游
Libérer: 2023-03-12 08:08:02
original
3454 Les gens l'ont consulté

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(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
var_dump($arr);
var_dump(array_flip($arr));
?>
Copier après la connexion

输出结果:

Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

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

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

<?php
$arr = array("a" => 1, "b" => 1, "c" => 2);
var_dump($arr);
var_dump(array_flip($arr));
?>
Copier après la connexion

输出结果:

Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

可以看出:利用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(&#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);
    ?>
    Copier après la connexion

    à travers l'exemple suivant :

  • Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

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(&#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);
?>
Copier après la connexion

Résultat de sortie : Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

3. png

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 : Apprentissage des tableaux PHP : comment échanger les positions des noms et des valeurs des clés

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal