Maison  >  Article  >  développement back-end  >  Comment supprimer plusieurs colonnes d'un tableau à deux dimensions en php

Comment supprimer plusieurs colonnes d'un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-20 10:15:171017parcourir

Dans la programmation PHP, le tableau bidimensionnel est l'un des types de données les plus courants. Les tableaux bidimensionnels sont composés de plusieurs tableaux unidimensionnels, ce qui peut faciliter le stockage et le traitement de données multidimensionnelles. Dans la programmation réelle, nous devons souvent supprimer plusieurs colonnes d'un tableau bidimensionnel et les exploiter ou les afficher. Cet article présentera plusieurs méthodes pour extraire plusieurs colonnes d'un tableau bidimensionnel.

1. Utiliser le parcours en boucle

La méthode la plus simple consiste à utiliser une boucle pour parcourir le tableau bidimensionnel et supprimer les colonnes requises. Voici un exemple de code :

$array = array(
  array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
  array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
  array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
);

$columns = array('name', 'age');

foreach($array as $key => $item){
  foreach($columns as $col){
    echo $item[$col]."  ";
  }
  echo "<br/>";
}

Ici, nous définissons un tableau bidimensionnel $array, qui contient des informations telles que l'identifiant, le nom, l'âge et l'adresse de chaque personne. Nous devons en extraire les informations de la colonne nom et âge. Utilisez deux boucles foreach pour parcourir le tableau et les colonnes à afficher. Grâce à $item[$col], vous pouvez obtenir les informations correspondantes de chaque personne puis les afficher directement.

2. Utilisez la fonction array_column

La fonction array_column de PHP peut directement supprimer une certaine colonne d'un tableau bidimensionnel sans écrire de boucle vous-même. Voici un exemple de code :

$array = array(
  array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
  array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
  array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
);

$columns = array('name', 'age');

$result = array_column($array, $columns[0]);

for($i=1; $i<count($columns); $i++){
  $temp = array_column($array, $columns[$i]);
  $result = array_map(null, $result, $temp);
}

foreach($result as $value){
  echo $value[0]." ".$value[1]."<br/>";
}

Ici, nous définissons également un tableau bidimensionnel $array et les colonnes à afficher $columns. En appelant la fonction array_column, vous pouvez récupérer directement les valeurs de toutes les colonnes de nom de $array, puis utiliser la fonction array_map pour fusionner les valeurs de plusieurs colonnes dans un tableau bidimensionnel $result. Enfin, affichez chaque ligne de données dans $result via la boucle foreach.

3. Utilisez la fonction array_reduce

Une autre méthode d'implémentation consiste à utiliser la fonction array_reduce de PHP. La fonction array_reduce combine un tableau en une valeur et est souvent utilisée pour des opérations telles que la sommation de tableaux ou le calcul de la valeur maximale. Voici un exemple de code :

$array = array(
  array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
  array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
  array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
);

$result = array_reduce($array, function($carry, $item){
  return array($carry[0]." ".$item['name'], $carry[1]." ".$item['age']);
}, array('',''));

echo $result[0]."<br/>";
echo $result[1]."<br/>";

Ici, nous définissons également un tableau bidimensionnel $array. En appelant la fonction array_reduce, les informations de nom et d'âge dans chaque tableau unidimensionnel $item sont fusionnées dans un tableau unidimensionnel $carry. Enfin, affichez le résultat fusionné.

Résumé :

Les trois méthodes ci-dessus peuvent supprimer la colonne spécifiée du tableau bidimensionnel et la traiter ou la générer. Parmi elles, le parcours de boucle est la méthode la plus courante, et les fonctions array_column et array_reduce sont plus concises et avancées. Dans la programmation réelle, vous pouvez choisir la méthode la plus appropriée pour fonctionner en fonction de besoins spécifiques.

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