Maison  >  Article  >  développement back-end  >  Comment supprimer les éléments spécifiés dans un tableau en php

Comment supprimer les éléments spécifiés dans un tableau en php

PHPz
PHPzoriginal
2023-04-19 10:08:53438parcourir

PHP est un langage de script open source côté serveur largement utilisé, utilisé pour développer des applications Web, des sites Web dynamiques, des connexions à des bases de données, etc. En PHP, un tableau est une structure de données importante qui peut stocker plusieurs valeurs et peut être facilement accessible, ajoutée, modifiée et supprimée. Dans le processus de développement actuel, nous devons souvent supprimer un élément du tableau ou spécifier tous les éléments avec la même valeur de clé. Cet article explique comment supprimer une clé spécifiée dans un tableau à l'aide de PHP.

1. Présentation des tableaux PHP

En PHP, un tableau est une collection ordonnée et itérable qui peut stocker plusieurs valeurs, chaque valeur a une clé unique. Les tableaux PHP peuvent être divisés dans les types suivants :

1. Tableau d'index : utilisez des clés entières (à partir de 0) comme index, et l'ordre de stockage et l'ordre d'insertion sont les mêmes.

2. Tableau associatif : utilisez une chaîne personnalisée ou des clés numériques comme index, et la relation entre les clés et les valeurs peut être librement définie.

3. Tableau multidimensionnel : un tableau contient d'autres tableaux, qui peuvent former une structure imbriquée à plusieurs niveaux.

La méthode de création d'un tableau PHP est relativement flexible, vous pouvez utiliser le mot-clé array() ou [], vous pouvez également utiliser la fonction range(), la fonction éclater(), etc.

//使用array()创建索引数组
$arr1 = array('apple', 'banana', 'orange');
//使用[]创建关联数组
$arr2 = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
//使用range()函数创建索引数组
$arr3 = range(1, 10);
//使用explode()函数创建索引数组
$str = "apple,banana,orange";
$arr4 = explode(",", $str);

?>

2. Supprimez l'élément avec la clé d'index spécifiée dans le tableau

Si vous souhaitez supprimer un élément du tableau PHP, vous pouvez utiliser la fonction unset(), qui peut supprimer une variable, y compris les éléments des tableaux et les propriétés des objets. La fonction unset() doit transmettre un paramètre, qui peut être une variable, un élément de tableau ou une propriété d'objet.

$arr = array('apple', 'banana', 'orange');
unset($arr[1]); //删除索引为1的元素banana
var_dump($arr); //array(2) { [0]=> string(5) "apple" [2]=> string(6) "orange" }

?>

Dans l'exemple ci-dessus, nous avons créé un tableau d'index $arr et utilisé la fonction unset() pour supprimer l'élément banane d'index 1, puis utilisé la fonction var_dump() Le tableau supprimé est imprimé.

Il convient de noter que l'utilisation de la fonction unset() ne peut supprimer que l'élément avec la clé d'index spécifiée, mais pas la paire clé-valeur spécifiée. Si vous souhaitez supprimer des éléments d'une paire clé-valeur spécifiée, vous pouvez utiliser la fonction array_diff() pour y parvenir.

3. Supprimez les éléments de la paire clé-valeur spécifiée dans le tableau

Si vous souhaitez supprimer la paire clé-valeur spécifiée dans le tableau PHP, vous pouvez utiliser la fonction array_diff(). La fonction array_diff() est utilisée pour calculer la différence d'un tableau. Si les éléments du tableau existent également dans un autre tableau, ils ne seront pas inclus dans le tableau résultat. Par conséquent, nous pouvons implémenter l'opération de suppression en passant la paire clé-valeur à supprimer sous forme de tableau à la fonction array_diff().

$arr = ['name' => 'Jack', 'age' => 18, 'gender' => 'male'];
$remove = ['age' => 18];
$result = array_diff($arr, $remove);
var_dump($result); //array(2) { ["name"]=> string(4) "Jack" ["gender"]=> string(4) "male" }

?>

Dans l'exemple ci-dessus, nous avons créé un tableau associatif $arr et utilisé un nouveau tableau $remove pour stocker les paires clé-valeur à supprimer. En appelant la fonction array_diff(), la paire clé-valeur à supprimer est transmise sous forme de tableau et le tableau résultat renvoyé ne contient pas les éléments à supprimer.

Pour la suppression de tableaux multidimensionnels, nous pouvons utiliser des fonctions récursives.

function removeKey($array, $key)
{
    foreach ($array as $k => &$v) {
        if ($k=== $key) {
            unset($array[$k]);
        } else {
            if (is_array($v)) {
              $v = removeKey($v, $key);
            }
        }
    }
    return $array;
}

$arr = [
    'fruit' => ['apple', 'banana', 'orange'],
    'color' => [
        'red'   => 'FF0000',
        'green' => '00FF00',
        'blue'  => '0000FF'
    ]
];
$result = removeKey($arr, 'apple');
var_dump($result);

?>

Dans l'exemple ci-dessus, nous avons défini une fonction RemoveKey(), qui reçoit deux paramètres, le premier paramètre est un tableau multidimensionnel et le deuxième paramètre consiste à supprimer la clé. . Dans le corps de la fonction, nous utilisons une boucle foreach pour parcourir le tableau et juger chaque paire clé-valeur si la clé n'est pas égale à la clé à supprimer, continuez à parcourir si la clé est égale à la clé à supprimer, utilisez la fonction unset() pour supprimer la clé du tableau. Supprimez la paire clé-valeur. Si la valeur est un tableau, la fonction removeKey() est appelée de manière récursive. Enfin, le tableau supprimé est renvoyé.

4. Résumé

Cet article explique comment supprimer des éléments avec des clés spécifiées et des éléments avec des paires clé-valeur spécifiées dans un tableau en PHP. Pour les tableaux indexés, nous pouvons utiliser la fonction unset() pour supprimer les éléments des clés d'index spécifiées ; pour les tableaux associatifs, nous pouvons utiliser la fonction array_diff() pour supprimer les éléments des paires clé-valeur spécifiées ; utiliser des fonctions récursives pour supprimer les éléments clés spécifiés. Lorsque nous devons modifier ou reconstruire un tableau PHP, nous pouvons utiliser ces méthodes pour supprimer les éléments spécifié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!

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