[PHP]便利な配列操作関数メモ_抽出編
// 操作対象の配列
$list1 = ['a' => 'aa', 'b' => 'bb', 'c' => 'cc', 'd' => 'dd'];
$list2 = ['e' => 'aa', 'f' => 'ff', 'g' => 'gg', 'h' => 'dd'];
$twoDList = ['a' => ['x' => 11, 'y' => 'aa'],
'b' => ['x' => 22, 'y' => 'bb'],
'c' => ['x' => 33, 'y' => 'cc'],];
array_column
2次元配列の値の配列から指定のキーの値を抽出する。
第3引数に値の配列のキーを指定すると、抽出する値のキーに設定される。
$result = array_column($twoDList, 'y');
$result2 = array_column($twoDList, 'y', 'x');
print(var_export($result, true));
/*
array (
0 => 'aa',
1 => 'bb',
2 => 'cc',
)
*/
print(var_export($result2, true));
/*
array (
11 => 'aa',
22 => 'bb',
33 => 'cc',
)
*/
array_intersect
第1引数に指定した配列の値の中から、第2引数以降に指定した引数の配列に含まれるものを抽出する。
$result = array_intersect($list1, $list2);
print(var_export($result, true));
/*
array (
'a' => 'aa',
'd' => 'dd',
)
*/
array_diff
第1引数の配列の値の中から、第2引数の配列の値に存在しないものを返す。
$result = array_diff($list1, $list2);
print(var_export($result, true));
/*
array (
'b' => 'bb',
'c' => 'cc',
)
*/
array_chunk
配列を指定したサイズで分割する。分割後の最後尾の配列はサイズが不足することもある。
$result = array_chunk($list1, 2);
print(var_export($result, true));
/*
array (
0 =>
array (
0 => 'aa',
1 => 'bb',
),
1 =>
array (
0 => 'cc',
1 => 'dd',
),
)
[reference]
array_column | PHP.net
array_intersect | PHP.net
array_diff | PHP.net
array_chunk | PHP.net
この記事が気に入ったらサポートをしてみませんか?