Maison >développement back-end >Problème PHP >Comment supprimer une certaine colonne de données d'un tableau à deux dimensions en php

Comment supprimer une certaine colonne de données d'un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-25 17:36:161208parcourir

En PHP, un tableau bidimensionnel est une structure de données très couramment utilisée. Lors de l'exécution d'opérations sur des tableaux bidimensionnels, il est parfois nécessaire de supprimer les données d'une certaine colonne, et cette situation se produit relativement fréquemment. Alors, comment supprimer les données d'une certaine colonne dans un tableau php à deux dimensions ? Cet article présentera cela en détail.

Première méthode de suppression : utilisez la boucle foreach pour supprimer une certaine colonne

En php, nous pouvons utiliser la boucle foreach pour parcourir le tableau à deux dimensions et supprimer la colonne spécifiée pendant le processus de traversée. Les idées spécifiques sont les suivantes :

1 Retirez chaque colonne du tableau via une boucle foreach.

2. Utilisez la fonction unset pour supprimer la colonne spécifiée.

3. Réorganisez les colonnes supprimées dans un tableau.

Exemple de code :

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

foreach($arr as &$v){
    unset($v['name']);  //删除某一列
}
unset($v);  //重置$v的引用

print_r($arr);

Deuxième méthode de suppression : utilisez la fonction array_map pour supprimer une certaine colonne

En PHP, nous pouvons également utiliser array_map fonction pour supprimer une certaine colonne. Les idées spécifiques sont les suivantes :

1. Utilisez la fonction array_map pour opérer sur chaque élément du tableau (c'est-à-dire chaque ligne) et supprimez la colonne spécifiée.

2. Restructurez le tableau supprimé en un nouveau tableau.

Exemple de code :

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

//回调函数:删除某一列
function delete_col($arr,$key){
    unset($arr[$key]);
    return array_values($arr);
}

$new_arr=array_map('delete_col',$arr,array_fill(0,count($arr),'name'));

print_r($new_arr);

Description du code :

array_map() La fonction consiste à rappeler une fonction pour chaque élément du tableau et renvoie un nouveau tableau. Ici, notre fonction de rappel est la fonction delete_col(), qui accepte deux paramètres : le tableau et la clé de la colonne à supprimer (c'est-à-dire le nom de la colonne). Dans le corps de la fonction, nous utilisons unset() pour supprimer la colonne spécifiée, puis utilisons array_values() pour réorganiser les clés du tableau, et enfin renvoyons le nouveau tableau.

Méthode de suppression trois : utilisez la fonction array_column pour supprimer une certaine colonne

En php, nous pouvons également utiliser la fonction array_column pour supprimer une certaine colonne. Les idées spécifiques sont les suivantes :

1. Utilisez d'abord la fonction array_column pour obtenir la valeur de la colonne spécifiée.

2. Utilisez la fonction array_diff pour supprimer la valeur de colonne obtenue du tableau d'origine.

Exemple de code :

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

$column=array_column($arr,'name');  //获取指定列
$new_arr=array_map(function($v) use($column){
    return array_diff_key($v,$column);   //删除指定列
},$arr);

print_r($new_arr);

Description du code :

array_column() doit renvoyer une colonne spécifiée dans le tableau. Par conséquent, ce qui est stocké dans le tableau $column est la colonne de nom dans le tableau à deux dimensions. Ensuite, nous utilisons la fonction array_map pour parcourir le tableau d'origine, utilisons la fonction array_diff_key pour supprimer la colonne spécifiée du tableau d'origine et enfin renvoyons le nouveau tableau.

Summary

Pour l'opération de suppression d'une colonne dans un tableau bidimensionnel php, on peut utiliser la boucle foreach, la fonction array_map ou la fonction array_column pour y parvenir. En fonctionnement réel, nous pouvons choisir la méthode appropriée en fonction du scénario spécifique pour obtenir des résultats efficaces et simples.

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