Maison > cadre php > PensezPHP > Résumez plusieurs façons courantes de supprimer des champs de tableau dans thinkphp

Résumez plusieurs façons courantes de supprimer des champs de tableau dans thinkphp

PHPz
Libérer: 2023-04-07 13:00:45
original
720 Les gens l'ont consulté

Dans ThinkPHP, supprimer un champ spécifié dans un tableau est une opération courante. Cependant, comme PHP est un langage dynamique, certains développeurs peuvent ne pas être familiers avec la syntaxe de certaines opérations sur les tableaux, ce qui entraîne un code pas assez élégant et efficace. Cet article présentera plusieurs méthodes courantes de suppression de champs de tableau afin que les développeurs puissent écrire un code plus concis, élégant et efficace.

  1. Utilisez unset()

La fonction unset() en PHP peut supprimer des éléments spécifiés dans un tableau. Voici un exemple qui montre comment utiliser la fonction unset() pour supprimer un champ spécifié dans le tableau :

$arr = array('id' => 1, 'name' => 'Tom', 'age' => 20);
unset($arr['age']);
print_r($arr);
Copier après la connexion

Exécutez le code et les résultats sont les suivants :

Array
(
    [id] => 1
    [name] => Tom
)
Copier après la connexion
Copier après la connexion

Grâce à la fonction unset(), nous avons réussi à supprimer le champ 'dans le tableau $arr age'.

Bien que cette méthode soit simple, ses inconvénients sont également évidents : vous devez d'abord connaître le nom de clé du champ à supprimer, ce qui peut être assez difficile pour un tableau volumineux et profondément imbriqué.

  1. Utilisez la fonction array_diff_key()

array_diff_key() pour comparer les noms de clé de deux tableaux et renvoyer un nouveau tableau qui contient toutes les clés qui apparaissent dans le premier tableau mais pas dans le nom de clé des autres tableaux. En bref, il compare les noms de clés des deux tableaux et filtre les noms de clés qui n'apparaissent que dans le premier tableau.

Ce qui suit est un exemple d'utilisation de la fonction array_diff_key() :

$arr = array('id' => 1, 'name' => 'Tom', 'age' => 20);
$arr2 = array('id' => 1, 'name' => 'Tom');
$newarr = array_diff_key($arr, $arr2);
print_r($newarr);
Copier après la connexion

Exécutez le code et le résultat est le suivant :

Array
(
    [age] => 20
)
Copier après la connexion

A travers cet exemple, nous voyons qu'en utilisant la fonction array_diff_key(), nous pouvons faire fonctionner le tableau sans l'utiliser directement, compare les noms de clés des deux tableaux, trouve les noms de clés qui n'apparaissent que dans le premier tableau, puis renvoie un nouveau tableau contenant tous les noms de clés qui n'apparaissent pas dans les autres tableaux.

  1. Utilisation de array_filter()

En plus d'utiliser la fonction array_diff_key() pour supprimer certains noms de clés dans le tableau, nous pouvons également utiliser la fonction array_filter(). Cette fonction est utilisée pour filtrer les éléments d'un tableau et renvoyer un tableau filtré. Nous pouvons utiliser le deuxième paramètre de la fonction array_filter() pour spécifier les éléments que nous souhaitons filtrer. Voici un exemple d'utilisation de la fonction array_filter() :

$arr = array('id' => 1, 'name' => 'Tom', 'age' => 20);
$newarr = array_filter($arr, function($k) {
    return $k !== 'age';
}, ARRAY_FILTER_USE_KEY);
print_r($newarr);
Copier après la connexion

Exécutez le code et le résultat est le suivant :

Array
(
    [id] => 1
    [name] => Tom
)
Copier après la connexion
Copier après la connexion

A travers cet exemple, nous voyons qu'en utilisant la fonction array_filter(), nous pouvons spécifier la fonction de rappel et dans la fonction callback, éléments à juger. Si le résultat du jugement est VRAI, l'élément est renvoyé dans le nouveau tableau, sinon il n'est pas renvoyé. Dans cet exemple, nous utilisons la fonction de rappel pour filtrer les éléments portant le nom de clé « age » dans le tableau.

  1. Utilisez array_map()

La dernière méthode consiste à utiliser la fonction array_map(). array_map() est une fonction de tableau très pratique en PHP. Elle est utilisée pour appliquer une fonction de rappel à chaque élément d'un tableau donné et renvoyer un nouveau tableau contenant toutes les valeurs de retour. Lorsque nous devons traiter chaque valeur d’un tableau, nous pouvons envisager d’utiliser la fonction array_map().

Ce qui suit est un exemple d'utilisation de la fonction array_map() :

$arr = array('id' => 1, 'name' => 'Tom', 'age' => 20);
$newarr = array_map(function($key) use ($arr) {
    unset($arr[$key]);
    return $arr;
}, array('age'));
print_r($newarr);
Copier après la connexion

Exécutez le code et le résultat est le suivant :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Tom
        )

)
Copier après la connexion

Dans cet exemple, nous utilisons une fonction anonyme pour agir sur le tableau ['age'] , Utilisez la fonction unset() pour supprimer l'élément portant le nom de clé « age » du tableau et renvoyer le tableau traité dans un nouveau tableau.

Conclusion

Selon différentes situations, nous pouvons utiliser les méthodes ci-dessus pour supprimer des champs du tableau. Si nous supprimons un élément fixe, nous pouvons utiliser la fonction unset() ; si nous avons seulement besoin de supprimer certains éléments spécifiés, nous pouvons utiliser la fonction array_diff_key() si nous devons effectuer un filtrage et un filtrage complexes des éléments ; utilisez les fonctions array_filter() et array_map(). Bref, en fonction de nos besoins réels, nous pouvons choisir une méthode appropriée pour supprimer les éléments spécifiés du tableau.

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