Comment changer l'index d'un tableau en php

PHPz
Libérer: 2023-04-25 10:17:34
original
1023 Les gens l'ont consulté

En PHP, nous avons souvent besoin de modifier l'index d'un tableau, par exemple en réorganisant l'index ou en modifiant la valeur d'index d'un élément spécifique. Cet article présentera quelques fonctions et techniques PHP couramment utilisées pour vous aider à modifier facilement les index des tableaux.

1. Utilisez la fonction array_values() pour réorganiser les index

Si votre tableau contient des index discontinus et que vous souhaitez réorganiser ces indices, vous pouvez utiliser la fonction array_values(). Cette fonction peut renvoyer un nouveau tableau dans lequel les éléments restent inchangés mais leurs index sont réorganisés dans l'ordre.

Par exemple, supposons que vous ayez le tableau suivant :

$fruits = array(2 => 'apple', 4 => 'banana', 6 => 'orange');
Copier après la connexion

Les indices de ce tableau ne sont pas consécutifs. Si vous imprimez ce tableau à l'aide de la fonction print_r(), vous verrez le résultat suivant :

Array
(
    [2] => apple
    [4] => banana
    [6] => orange
)
Copier après la connexion

Pour réorganiser les index, transmettez le tableau à la fonction array_values() comme ceci :

$fruits = array_values($fruits);
Copier après la connexion

Maintenant, les index du tableau ont a été réorganisé pour ressembler à ceci :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Copier après la connexion

Veuillez noter que cette fonction renvoie un nouveau tableau sans modifier le tableau d'origine. Par conséquent, vous devez attribuer le tableau renvoyé au tableau d'origine afin de réaliser le changement d'index.

2. Utilisez la fonction unset() pour supprimer des éléments et les réaffecter avec de nouvelles clés.

Une autre façon consiste à utiliser la fonction unset() pour supprimer des éléments du tableau d'origine et les réaffecter avec de nouvelles clés. Par exemple, disons que vous avez le tableau suivant :

$colors = array('red', 'green', 'blue');
Copier après la connexion

Maintenant, disons que vous souhaitez supprimer l'élément « vert » et utiliser « violet » comme nouvelle clé. Vous pouvez utiliser la fonction unset() pour supprimer l'élément et le réaffecter avec le nouvel élément du tableau :

unset($colors[1]); // 删除'green'元素
$colors['purple'] = 'blue'; // 使用'purple'作为键重新分配'blue'元素
Copier après la connexion

Maintenant, le tableau ressemble à ceci :

Array
(
    [0] => red
    [purple] => blue
)
Copier après la connexion

Veuillez noter qu'avec cette méthode, vous devez faire attention à éviter les conflits avec le nouvelles clés. Si la nouvelle clé entre en conflit avec une clé existante, elle écrasera la valeur de cette clé.

3. Utilisez la fonction array_combine() pour combiner deux tableaux dans un nouveau tableau

Parfois, vous devrez peut-être combiner deux tableaux dans un nouveau tableau et utiliser les clés de l'un des tableaux comme clés du nouveau tableau. Par exemple, disons que vous disposez des deux tableaux suivants :

$keys = array('name', 'email', 'phone');
$values = array('John', 'john@example.com', '123-456-7890');
Copier après la connexion

Maintenant, disons que vous souhaitez utiliser les éléments du tableau $keys comme clés pour le nouveau tableau, et les éléments du tableau $values ​​​​comme valeurs ​dans le nouveau tableau. Vous pouvez combiner ces deux tableaux dans un nouveau tableau en utilisant la fonction array_combine() :

$contact = array_combine($keys, $values);
Copier après la connexion

Maintenant, le tableau $contact ressemble à ceci :

Array
(
    [name] => John
    [email] => john@example.com
    [phone] => 123-456-7890
)
Copier après la connexion

Notez que les deux tableaux doivent avoir le même nombre d'éléments. Si les deux tableaux ont des nombres d'éléments différents, un avertissement sera déclenché et FALSE sera renvoyé.

4. Utilisez la fonction array_map() pour mapper une nouvelle clé à chaque élément

Si vous souhaitez attribuer une nouvelle clé à chaque élément sans modifier le tableau d'origine, vous pouvez utiliser la fonction array_map(). Cette fonction applique une fonction à chaque élément du tableau spécifié et renvoie un nouveau tableau.

Par exemple, disons que vous avez le tableau suivant :

$names = array('John', 'Jane', 'Bob');
Copier après la connexion

Maintenant, disons que vous souhaitez mapper ce tableau dans un nouveau tableau en utilisant les numéros d'index comme clés. Vous pouvez y parvenir en utilisant la fonction array_map() et une fonction anonyme :

$names = array_map(function ($value, $index) {
    return array(
        'id' => $index,
        'name' => $value
    );
}, $names, array_keys($names));
Copier après la connexion

Maintenant, le tableau $names ressemble à ceci :

Array
(
    [0] => Array
        (
            [id] => 0
            [name] => John
        )

    [1] => Array
        (
            [id] => 1
            [name] => Jane
        )

    [2] => Array
        (
            [id] => 2
            [name] => Bob
        )
)
Copier après la connexion

Veuillez noter que la fonction renverra un nouveau tableau. Le tableau d'origine ne sera pas affecté.

Résumé

En PHP, vous pouvez utiliser plusieurs méthodes pour modifier l'index d'un tableau. Que vous réorganisiez l'index ou attribuiez une nouvelle clé à chaque élément, vous avez le choix entre une variété de techniques et de fonctions. Veuillez choisir la méthode appropriée en fonction de vos besoins spécifiques, en prenant soin d'éviter d'éventuels conflits de 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!

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