dump()
コレクションの内容をダンプします。
collect(['name' => 'ichiro', 'no' => '51', 'type' => 'baseball', 'age' => 45])->dump();
each()
コレクションのキー・値をコールバック関数に1つずつ渡します。
$collection = collect(['51' => 'ichiro', '55' => 'matsui', '77' => 'senichi'])->each(function($item, $key) {
// $key,$itemを使っていろいろ処理
if ($key == '55') {
return false;// ループの途中でやめるときはreturn false
}
});
eachSpread()
eachとほぼ同じですが、2次元配列を格納しているコレクションの各値をコールバック関数に1つずつ渡します。
コールバック関数の引数は配列の要素分用意します。
collect([['51', 'ichiro', 'B'], ['55', 'matsui'], ['77', 'senichi', 'D']])->eachSpread(function($no, $name, $team) {
echo $no . ' ' . $name . ' ' . $team . PHP_EOL;
});
every()
コレクションの全要素が指定した条件にすべて一致する場合はtrue、1つでも一致しない場合はfalseを返します。
echo collect([1, 2, 3, 4, 5])->every(function ($value, $key) {
return $value >= 1;
});// true
echo collect([1, 2, 3, 4, 5])->every(function ($value, $key) {
return $value >= 2;
});// false
except()
指定したキーを取り除いたコレクションを返します。
$collection = collect(['name' => 'ichiro', 'no' => 51, 'team' => 'B']);
print_r($collection->except(['no'])->all());
}
/*
Array
(
[name] => ichiro
[team] => B
)
*/