【Laravel】Laravel5.7のヘルパーを一気に勉強(3) – 配列とオブジェクトその3




この記事は最終更新日から2年以上経過しています。

オブジェクトに関するヘルパー関数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
)
*/