Cakephp PHP WEB開発

【Cakephp】ユーティリティHashを利用して配列構造を一次元上にする

※本サイトはPR表記を含みます。

プログラミング作業をしていると、時折、データの配列構造の次元が深くなる(複数アソシエーション先を取得するとか)場合があります。

時に「特定の配列構造を一元上に持ってきたい」といった場合もあると思います。

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

 

-Cakephp, PHP, WEB開発
-