Maison >développement back-end >Problème PHP >php supprime la valeur clé du tableau
PHP est un langage de développement Web très populaire et les tableaux sont l'une des structures de données les plus couramment utilisées en PHP. Lorsque vous travaillez avec des tableaux, vous devez parfois supprimer une ou plusieurs clés du tableau et réorganiser et réindexer les clés restantes. Cet article explique comment supprimer les valeurs de clé de tableau en PHP.
La fonction unset() en PHP peut être utilisée pour supprimer une ou plusieurs variables, y compris les valeurs des clés de tableau. Si vous supprimez uniquement une valeur clé dans le tableau, l'élément où se trouve la valeur clé sera supprimé et les valeurs clés des autres éléments ne seront pas réindexées.
Voici un exemple de code :
<?php $fruits = array("apple", "banana", "cherry"); unset($fruits[1]); // 删除键值为 1 的元素(即 banana) print_r($fruits); // 输出: Array ( [0] => apple [2] => cherry ) ?>
Il y a trois éléments dans le tableau $fruits, dont les valeurs clés sont respectivement 0, 1 et 2. Après avoir utilisé la fonction unset() pour supprimer l'élément avec la valeur clé 1 (c'est-à-dire "banane"), la sortie ne contient que deux éléments avec les valeurs clés 0 et 2.
Si vous souhaitez supprimer plusieurs valeurs clés, vous pouvez utiliser des virgules pour les séparer ou placer les valeurs clés sous forme de valeurs dans un tableau.
Voici un exemple de code :
<?php $fruits = array("apple", "banana", "cherry", "durian"); unset($fruits[1], $fruits[3]); // 删除键值为 1 和 3 的元素(即 banana 和 durian) print_r($fruits); // 输出: Array ( [0] => apple [2] => cherry ) unset($fruits[0], $fruits[2]); // 删除键值为 0 和 2 的元素(即 apple 和 cherry) print_r($fruits); // 输出: Array ( ) $fruits = array("apple", "banana", "cherry", "durian"); unset($fruits[1], $fruits[3]); // 删除键值为 1 和 3 的元素(即 banana 和 durian) print_r(array_values($fruits)); // 输出: Array ( [0] => apple [1] => cherry ) ?>
Il y a quatre éléments dans le tableau $fruits avec des valeurs clés respectivement 0, 1, 2 et 3. Après avoir utilisé la fonction unset() pour supprimer des éléments avec les valeurs clés 1 et 3 respectivement, il n'y a que deux éléments dans le résultat de sortie avec les valeurs clés 0 et 2.
Si vous souhaitez réindexer les éléments restants, vous pouvez utiliser la fonction array_values(), qui renvoie un nouveau tableau avec toutes les valeurs clés dans l'ordre.
La fonction array_splice() en PHP peut être utilisée pour supprimer un ou plusieurs éléments dans un tableau, et les éléments restants sont réindexés. Le premier paramètre de cette fonction est le tableau sur lequel opérer, le deuxième paramètre est la position de début de suppression des éléments, le troisième paramètre est le nombre d'éléments à supprimer et le quatrième paramètre est le nouvel élément facultatif à insérer.
Voici un exemple de code :
<?php $fruits = array("apple", "banana", "cherry", "durian"); array_splice($fruits, 1, 2); // 从位置 1 开始删除 2 个元素(即 banana 和 cherry) print_r($fruits); // 输出: Array ( [0] => apple [1] => durian ) ?>
Il y a quatre éléments dans le tableau $fruits avec des valeurs clés respectivement 0, 1, 2 et 3. Après avoir utilisé la fonction array_splice() pour supprimer 2 éléments (c'est-à-dire « banane » et « cerise ») à partir de la position 1, la sortie n'a que deux éléments avec les valeurs clés 0 et 1.
Si vous souhaitez que les éléments restants soient réindexés, vous pouvez utiliser la fonction array_values() avant de supprimer les éléments.
La fonction array_filter() en PHP peut être utilisée pour filtrer les éléments du tableau et renvoyer un nouveau tableau (Par défaut, le tableau d'origine n'est pas modifié). Le premier paramètre de cette fonction est le tableau à filtrer et le deuxième paramètre est une fonction de rappel facultative qui teste chaque élément et renvoie vrai ou faux.
Voici un exemple de code :
<?php $fruits = array("apple", "banana", "cherry", "durian"); $fruits = array_filter($fruits, function($value, $key) { return $key != 1 && $key != 2; // 删除键值为 1 和 2 的元素(即 banana 和 cherry) }, ARRAY_FILTER_USE_BOTH); print_r($fruits); // 输出: Array ( [0] => apple [3] => durian ) ?>
Il y a quatre éléments dans le tableau $fruits avec des valeurs clés respectivement 0, 1, 2 et 3. Après avoir utilisé la fonction array_filter() et la fonction de rappel pour supprimer les éléments avec les valeurs clés 1 et 2, la sortie ne contient que deux éléments avec les valeurs clés 0 et 3.
Si vous souhaitez que les éléments restants soient réindexés, vous pouvez utiliser la fonction array_values() après avoir utilisé la fonction array_filter().
Summary
Ci-dessus sont trois façons de supprimer les valeurs de clé de tableau en PHP. Choisir la méthode appropriée en fonction de la situation peut améliorer l'efficacité et la lisibilité de votre code. Remarque : lors de l'utilisation de la fonction unset() ou de la fonction array_splice(), la valeur de clé supprimée n'existera plus dans le tableau, tandis que lors de l'utilisation de la fonction array_filter(), le tableau sera ré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!