#623867c4ec394
2022.03.21
前回に引き続き本記事でもLaravelの配列関連のへルパ関数を解説していきたいと思います。
参考になれば幸いです。
Memo
Laravelのバージョンは8系統になります。
今回解説するへルパ関数は以下です。
本記事で取り扱うへルパ関数
Arr::get ドット記法で指定したキーの値を取得
配列内にドット記法で指定した値を取得します。
Arr::get
Arr::get(配列, 取得したいキー, (オプション)デフォルト値): 取得した値
使用例
1$array = ['key-1' => 1, 'key-2' => ['key-2-1' => 2]]; 2dd(Arr::get($array, 'key-2.key-2-1')); // ドット記法で指定可能 3 4// 結果 52
コレクションでも可能です。
コレクションを使用
1$collection = Collection::make(['key-1' => 1, 'key-2' => ['key-2-1' => 2], ]); 2dd(Arr::get($collection, 'key-2.key-2-1')); 3 4// 結果 52
第三引数で取得するキーが存在しない場合のデフォルト値を指定できます。
デフォルト値を指定
1$array = ['key-1' => 1, 'key-2' => ['key-2-1' => 2]]; 2dd(Arr::get($array, 'key-999', 'default value')); // 第三引数にデフォルト値を指定 3 4// 結果(指定したキーが存在しない場合は第三引数に指定した値を出力) 5"default value"
Arr::has ドット記法で指定したキーが配列内に存在するか判定
ドット記法で指定したキーが配列内に存在するか判定します。存在する場合はtrueを存在しない場合はfalseを返します。
Arr::has
Arr::has(配列, 検索するキー(ドット記法)): bool
使用例
1$array = ['key-1' => 1, 'key-2' => ['key-2-1' => 2]]; 2 3// true 4Arr::has($array, 'key-2.key-2-1'); 5 6// false 7Arr::has($array, 'key-3');
コレクションでも使用できます。
コレクションを使用
1$collection = Collection::make(['key-1' => 1, 'key-2' => ['key-2-1' => 2]]); 2 3// true 4Arr::has($collection, 'key-2.key-2-1'); 5 6// false 7Arr::has($collection, 'key-3');
検索キーは配列で複数指定が可能です。
その場合は完全一致だとtrueが返ります。
検索キーを複数指定
1$array = ['key-1' => 1, 'key-2' => ['key-2-1' => 2]]; 2 3// true 4Arr::has($array, ['key-1', 'key-2.key-2-1']); 5 6// false(部分一致の場合はfalseとなるjj) 7Arr::has($array, ['key-999', 'key-2.key-2-1']);
Arr::hasAny 指定した複数キーが1つ以上配列に存在するか判定
ドット記法で指定した複数キーが1つ以上配列に存在する場合はtrueが返ります。
Arr::hasとは異なり、trueを返す条件は部分一致になります。
Arr:hasAny
Arr::hasAny(配列, 検索するキー(ドット記法)): bool
使用例
1$array = ['key-1' => 1, 'key-2' => ['key-2-1' => 2]]; 2 3// true(部分一致で一致していればtrue) 4Arr::hasAny($array, ['key-999', 'key-2.key-2-1']); 5 6// false 7Arr::hasAny($array, ['key-999', 'key-998']);
コレクションを使用
1$collection = Collection::make(['key-1' => 1, 'key-2' => ['key-2-1' => 2]]); 2 3// true 4Arr::hasAny($collection, ['key-999', 'key-2.key-2-1']); 5 6// false 7Arr::hasAny($collection, ['key-999', 'key-998']);
今回はArr::get
、Arr::has
、Arr::hasAny
の三つの配列系へルパ関数の紹介でした。
以下まとめです。
まとめ
残りのへルパ関数もまとめていきたいと思いますのでぜひ覗いていってください。