プログラミング作業をしていると、時折、データの配列構造の次元が深くなる(複数アソシエーション先を取得するとか)場合があります。
時に「特定の配列構造を一元上に持ってきたい」といった場合もあると思います。
Cakephpには便利なユーティリティが用意されていて、力技で実装しなくても、配列を簡単に操れる Hash
ユーティリティがあります。
例えば、
$array = [ [0] => [ [0] => [ 'key' => 'value' ] ] ]
というデータがあったとして、
use Cake\Utility\Hash; // メソッド内で記述 Hash::extract($array, '{n}.{n}');
としてやることでデータを抽出してくれます。
{n}
は、どんな文字列キーでも 数値型のキーでも一致する。形です。
他、式が複数あるので、厳密にマッチする必要があれば、マニュアルを確認しましょう。
[ [0] => [ 'key' => 'value' ] ]
ループ実装せずに各データを一次元上に押し上げてくれます。
駆使すればかなり便利。
■ Cakephp4: Hash ユーティリティ
https://book.cakephp.org/4/ja/core-libraries/hash.html