オブジェクトに関するヘルパー関数3回目です。
Arr::last()
指定した条件に最後に一致する値を返します。
多次元配列は処理されないので注意です。
$datas = ['aaa', 'bbb', 'cccc', 'ddd', 'eee', 'aaabbb'];
$last = Arr::last($datas, function ($value, $key) {
return preg_match('/^a/', $value);
});
echo '$last->' . $last;
/*
$last->aaabbb
*/
Arr::only()
配列から指定したキーに対応するキーと値を抽出します。
$datas = ['name' => 'aaa', 'kana' => 'bbb', 'age' => 11];
$result = Arr::only($datas, ['name', 'kana']);
print_r($result);
/*
Array
(
[name] => aaa
[kana] => bbb
)
*/
Arr::pluck()
配列から指定したキーに対する値リストを抽出します。
$datas = [
['name' => 'あああ', 'kana' => 'aaa', 'age' => 11],
['name' => 'いいい', 'kana' => 'iii', 'age' => 22],
['name' => 'ううう', 'kana' => 'uuu', 'age' => 33],
];
$result = Arr::pluck($datas, 'name');
print_r($result);
/*
Array
(
[0] => あああ
[1] => いいい
[2] => ううう
)
*/
Arr::prepend()
配列の先頭に指定したキー/値を追加します。
$datas = ['name' => 'あああ', 'kana' => 'aaa', 'age' => 11];
$result = Arr::prepend($datas, 'id', 1);
print_r($result);
/*
Array
(
[1] => id
[name] => あああ
[kana] => aaa
[age] => 11
)
*/
Arr::pull()
配列から指定したキーに対応する値を取得します。
配列は指定したキーが削除されます。
$datas = ['name' => 'あああ', 'kana' => 'aaa', 'age' => 11];
$result = Arr::pull($datas, 'name');
echo 'result->' . $result . PHP_EOL;
print_r($datas);
/*
result->あああ
Array
(
[kana] => aaa
[age] => 11
)
*/