PHPで2次元配列から特定のデータ列を削除する方法

PHPz
リリース: 2023-04-25 17:52:33
オリジナル
1089 人が閲覧しました

PHP では、2 次元配列は非常に一般的に使用されるデータ構造です。 2 次元配列の演算を行う場合、特定の列のデータを削除する必要がある場合があり、この状況は比較的頻繁に発生します。では、PHP の 2 次元配列の特定の列のデータを削除するにはどうすればよいでしょうか?この記事では詳しく紹介していきます。

削除方法 1: foreach ループを使用して特定の列を削除する

PHP では、foreach ループを使用して 2 次元配列を走査し、走査プロセス中に指定された列を削除できます。具体的なアイデアは次のとおりです:

1. foreach ループを通じて配列の各列を取り出します。

2. unset 関数を使用して、指定した列を削除します。

3. 削除した列を配列に再編成します。

コード例:

$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);
ログイン後にコピー

削除方法 2: array_map 関数を使用して特定の列を削除する

PHP では、array_map 関数を使用して特定の列を削除することもできます。具体的なアイデアは次のとおりです:

1. array_map 関数を使用して、配列の各要素 (つまり、各行) を操作し、指定された列を削除します。

2. 削除された配列を新しい配列に再構築します。

コード例:

$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);
ログイン後にコピー

コードの説明:

array_map() 関数は、配列の各要素に対して関数をコールバックし、新しい配列を返します。ここで、コールバック関数は delete_col() 関数で、配列と削除する列のキー (つまり、名前列) の 2 つのパラメーターを受け取ります。関数本体では、unset() を使用して指定された列を削除し、次に array_values() を使用して配列のキーを再配置し、最後に新しい配列を返します。

削除方法 3: array_column 関数を使用して特定の列を削除する

PHP では、array_column 関数を使用して特定の列を削除することもできます。具体的な考え方は次のとおりです:

1. まず、array_column 関数を使用して、指定された列の値を取得します。

2. array_diff 関数を使用して、取得した列の値を元の配列から削除します。

コード例:

$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);
ログイン後にコピー

コードの説明:

array_column() 関数は、配列内の指定された列を返します。したがって、$column 配列に格納されるのは、2 次元配列の name カラムです。次に、array_map 関数を使用して元の配列を走査し、array_diff_key 関数を使用して元の配列から指定された列を削除し、最後に新しい配列を返します。

概要

PHP の 2 次元配列の列を削除する操作は、foreach ループ、array_map 関数、または array_column 関数を使用して実現できます。実際の運用では、特定のシナリオに応じて適切な方法を選択することで、効率的かつシンプルな結果を達成できます。

以上がPHPで2次元配列から特定のデータ列を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!