"Joh"/> "Joh">

Maison >développement back-end >Problème PHP >Le tableau bidimensionnel PHP supprime le tableau unidimensionnel spécifié

Le tableau bidimensionnel PHP supprime le tableau unidimensionnel spécifié

王林
王林original
2023-05-06 13:27:07662parcourir

En programmation PHP, le tableau bidimensionnel est un type de données très courant. Les tableaux bidimensionnels sont également utilisés pour stocker et traiter des données complexes. Dans certains cas, nous devons supprimer un tableau unidimensionnel spécifique d’un tableau bidimensionnel. Ce processus semble souvent plus difficile en PHP. Dans cet article, nous apprendrons comment supprimer un tableau unidimensionnel spécifié d'un tableau à deux dimensions.

Regardons d'abord un exemple simple de tableau bidimensionnel, qui contient trois tableaux unidimensionnels :

$students = array(
    array("name" => "John", "age" => 20, "skill" => "PHP"),
    array("name" => "Mary", "age" => 22, "skill" => "Java"),
    array("name" => "Peter", "age" => 21, "skill" => "Python")
);

Supposons que nous voulions supprimer le tableau unidimensionnel nommé Mary, comment devrions-nous y parvenir ?

Méthode 1 : utiliser la boucle foreach pour réaliser

L'une des solutions possibles est d'utiliser la boucle foreach pour obtenir chaque tableau unidimensionnel et d'utiliser la fonction unset() à chaque itération pour supprimer le tableau unidimensionnel qui répond aux conditions.

foreach($students as $key => $value) {
  if($value['name'] == 'Mary') {
    unset($students[$key]);
  }
}

Dans cet exemple, $key est la clé de l'itération actuelle et $value est la valeur de l'itération actuelle. À chaque itération, nous comparons la clé de nom pour déterminer si la condition est remplie. Si un tableau correspondant est trouvé, nous supprimons le tableau à l’aide de la fonction unset().

Méthode 2 : utilisez array_filter() pour implémenter

Une autre façon de supprimer un tableau unidimensionnel spécifié consiste à utiliser la fonction array_filter(). Cette fonction accepte un tableau en entrée et renvoie un nouveau tableau avec les éléments qui répondent aux critères supprimés.

$students = array_filter($students, function($arr) {
  return $arr['name'] !== 'Mary';
});

Dans cet exemple, nous passons une fonction anonyme à la fonction array_filter(). Cette fonction parcourra le tableau $students et transmettra chaque tableau unidimensionnel comme tableau d'entrée à la fonction. Dans la fonction anonyme, nous utilisons l'opérateur !== pour comparer si la clé de nom du tableau actuel est égale à Mary. S'ils ne sont pas égaux, la fonction array_filter() renvoie un nouveau tableau et les éléments qui remplissent les conditions sont conservés.

Méthode 3 : utilisez array_search() pour y parvenir

Enfin, nous pouvons utiliser la fonction array_search() pour trouver le tableau unidimensionnel à supprimer, puis utiliser la fonction unset() pour le supprimer.

$search_key = array_search('Mary', array_column($students, 'name'));
unset($students[$search_key]);

Notez que nous utilisons la fonction array_column() pour renvoyer les valeurs de toutes les clés de nom du tableau $students en tant que nouveau tableau. Nous pouvons utiliser la fonction array_search() pour rechercher une valeur correspondante dans ce nouveau tableau et renvoyer la clé de cette valeur. Enfin, nous utilisons la fonction unset() pour supprimer l'élément correspondant à la clé.

Résumé :

Ci-dessus sont trois méthodes courantes pour supprimer un tableau unidimensionnel spécifié d'un tableau PHP à deux dimensions. Il est important de noter que chaque méthode a ses avantages et ses inconvénients. Lors du choix d'une méthode d'implémentation, nous devons choisir la méthode la plus appropriée en fonction de nos besoins en code.

Dans les applications réelles, la méthode d'implémentation est choisie en fonction de la situation réelle. Parfois, des boucles imbriquées peuvent également résoudre le problème, mais si la quantité de données est trop importante, elle peut être inefficace, donc un bon équilibre entre performances et lisibilité du code. est requis.

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