Maison  >  Article  >  développement back-end  >  Comment convertir les clés de tableau pour commencer à partir de 1 en php

Comment convertir les clés de tableau pour commencer à partir de 1 en php

PHPz
PHPzoriginal
2023-04-26 10:27:40702parcourir

En PHP, la valeur clé par défaut du tableau commence à 0. Ceci est hérité en raison de la nature du tableau dans le langage C. Cependant, dans certains scénarios, nous devons modifier la valeur clé du tableau. 1 Commencez à rendre le programme logique et lisible.

Alors comment convertir la valeur clé d'un tableau PHP de 0 à 1 ? Voici quelques méthodes possibles :

Méthode 1 : Utiliser une boucle pour réaffecter la valeur

La méthode la plus simple consiste à utiliser une boucle pour ajouter 1 à la valeur clé de chaque élément dans le tableau. Par exemple :

$newArray = array();
foreach ($oldArray as $key => $value) {
    $newArray[$key+1] = $value;
}

Cette méthode créera un nouveau tableau et nécessite donc de l'espace mémoire supplémentaire. De plus, lorsque vous utilisez les valeurs clés du tableau pour calculer de nouvelles valeurs clés dans une boucle, vous devez faire attention à vérifier la situation hors limites du tableau.

Méthode 2 : Utilisez les fonctions array_combine() et range()

Une autre méthode consiste à utiliser les fonctions array_combine() et range(). La fonction range() peut générer un ensemble de séquences numériques, et la fonction array_combine() peut combiner ces séquences numériques en tant que valeurs clés avec les valeurs de l'ancien tableau dans un nouveau tableau. Par exemple :

$newArray = array_combine(range(1, count($oldArray)), $oldArray);

Cette méthode ne nécessite pas de boucle, elle est donc plus rapide que la première méthode, et les valeurs clés du nouveau tableau généré sont continues. Cependant, si les valeurs clés de l'ancien tableau sont déjà consécutives, l'utilisation de cette méthode peut produire des résultats différents de ceux attendus.

Méthode 3 : Utilisez la fonction array_map()

La fonction array_map() peut exécuter une fonction de rappel pour chaque élément du tableau et renvoyer un nouveau tableau. Vous pouvez utiliser cette fonction pour augmenter la valeur clé d'un élément de 1. Par exemple :

$newArray = array_map(function($value, $key) {
    return array($key+1 => $value);
}, $oldArray, array_keys($oldArray));
$newArray = array_reduce($newArray, 'array_merge', array());

Cette méthode ne nécessite pas de boucle, mais le code est plus compliqué. Lorsque vous utilisez la fonction array_map(), vous devez traiter les clés et les valeurs de l'ancien tableau, et vous devez également utiliser la fonction array_reduce() pour fusionner les tableaux bidimensionnels renvoyés dans un nouveau tableau.

Méthode 4 : Utiliser la fonction array_values()

array_values() La fonction peut renvoyer toutes les valeurs du tableau et les stocker dans un tableau indexé. le nouveau tableau est un index numérique généré automatiquement, vous pouvez utiliser cette fonction pour obtenir un nouveau tableau à partir de 1. Par exemple :

$newArray = array_values($oldArray);

Cette méthode est relativement simple et ne nécessite aucun code écrit par vous-même. Les valeurs clés du nouveau tableau renvoyé sont également des nombres consécutifs.

Résumé

Ci-dessus sont quatre façons de convertir les valeurs de clé de tableau PHP de 0 à 1. Chaque méthode a ses avantages et ses inconvénients. Lors du choix de la méthode à utiliser, celle-ci doit être choisie au cas par cas. Parmi elles, les deux premières méthodes sont les méthodes les plus simples et les plus couramment utilisées, tandis que la dernière méthode est simple mais nécessite une attention particulière aux scénarios d'application réels des valeurs clés continues et des tableaux d'index.

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!

Déclaration:
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