PHP 2 D配列の重量除去(キー名指定)
3692 ワード
この例では、2 D配列の指定されたキー名を削除します.ネット上ではarray_が使用されることが多いことがわかります.Uniqueやforeach遍歴などで重くなり、効果が悪く煩雑です.
この文書では、2 D配列の重み付けを引用してarray_を紹介します.column関数の3つの使い方.
以下は私がよく使う重量除去方法です.
指定したフィールドをインデックスにすると、自然とインデックスフィールドの重複する値が上書きされ、関連付けられたインデックスが除去されます.
上記は2次元配列であり、同じidの記録を削除する必要があります.すなわち、1つのIDは1つの記録しか残っていません.3番目のパラメータ試験のみを使用し、
OK、やり直し完了、この時$dataデータは以下の通り:5つの記録が4つになる
また、2番目のパラメータについては、保持する(単一)列を表し、3番目のパラメータではなく2番目のパラメータを使用します.
array_columnの2つ目の使い方:
このとき、2次元配列はnameフィールドのみを保持し、idフィールドは削除され、データは以下のようになります.
array_columnの3つ目の使い方は、
3つのパラメータはすべて使用されます.'id'=>'name'形式のデータを構築するために使用されます.
このときのデータは以下の通りである:このときID重複も取り除かれ,前のものが上書きされる.
see you ~
転載先:https://www.cnblogs.com/lz0925/p/10727995.html
この文書では、2 D配列の重み付けを引用してarray_を紹介します.column関数の3つの使い方.
以下は私がよく使う重量除去方法です.
指定したフィールドをインデックスにすると、自然とインデックスフィールドの重複する値が上書きされ、関連付けられたインデックスが除去されます.
//array_column ,
$data= array(
array('id' => 123, 'name' => ' '),
array('id' => 123, 'name' => ' '),
array('id' => 124, 'name' => ' '),
array('id' => 125, 'name' => ' '),
array('id' => 126, 'name' => ' ')
);
上記は2次元配列であり、同じidの記録を削除する必要があります.すなわち、1つのIDは1つの記録しか残っていません.3番目のパラメータ試験のみを使用し、
$data = array_column($data, NULL, 'id'); // ID
$data = array_values($data); //
OK、やり直し完了、この時$dataデータは以下の通り:5つの記録が4つになる
$data= array(
array('id' => 123, 'name' => ' '),
array('id' => 124, 'name' => ' '),
array('id' => 125, 'name' => ' '),
array('id' => 126, 'name' => ' ')
);
また、2番目のパラメータについては、保持する(単一)列を表し、3番目のパラメータではなく2番目のパラメータを使用します.
array_columnの2つ目の使い方:
$data = array_column($data, 'name');
このとき、2次元配列はnameフィールドのみを保持し、idフィールドは削除され、データは以下のようになります.
$data= array(
array('name' => ' '),
array('name' => ' '),
array('name' => ' '),
array('name' => ' '),
array('name' => ' ')
);
array_columnの3つ目の使い方は、
3つのパラメータはすべて使用されます.'id'=>'name'形式のデータを構築するために使用されます.
$data = array_column($data, 'name', 'id');
このときのデータは以下の通りである:このときID重複も取り除かれ,前のものが上書きされる.
$data = array(
'123' => ' ',
'124' => ' ',
'125' => ' ',
'126' => ' '
);
see you ~
転載先:https://www.cnblogs.com/lz0925/p/10727995.html