CakePHPの「Hashクラス」の使い方紹介

カテゴリ:インターン生ブログ

公開日:2020.06.17 最終更新日:2023.08.09
このエントリーをはてなブックマークに追加

こんにちは!伊神です!

今回は、CakePHPの「Hashクラス」についてご紹介します。

配列を便利な形に組み替えが行えたり、抽出したりできるのがCakePHPの「Hashクラス」です。

公式:https://book.cakephp.org/3/ja/core-libraries/hash.html

また、弊社ではWebプロモーション成功事例集をまとめた限定資料を無料で配布しています。

Webマーケティングに興味がある方は、下記ページより目を通してみてください。

Hashクラスとは

Hashクラスとは、配列操作を簡単にするためのクラスです。

Hashクラスは、どこからのモデルやコントローラーからでも呼び出すことができます。

Hashクラスのメソッドは、以下の式を使用して配列データの移動や要素を絞り込むことができます。

cakephpsiki

このHashクラスを使った簡単な例をご紹介します。

以下のusersという配列があったとして

「年齢(age)が40歳以上の人を取り出したい」場合通常以下の処理になります。

しかし、Hashを使うことにより簡単に記述することができます。

以上は、特定の配列を取り出せる「Hash::extract()」を使用しました。

今回は
特定の配列を取り出せる「Hash::extract()」。
配列を並び替えることができる「Hash::sort()」。
配列から特定の値で配列を組み替えることができる「Hash::combine()」。

ついてをご紹介します。

その他にも「Hash::remove()」「Hash::format()」「Hash::contains()」「Hash::check()」「Hash::diff()」などなどたくさんあるので詳しく知りたい方は

公式:https://book.cakephp.org/3/ja/core-libraries/hash.html

で調べてみてください。

※コントローラーでHashを使うには

use Cake\Utility\Hash;

をコントローラー上部に記述する必要があります。

「Hash::extract()」特定の配列を取り出すことができる

欲しい要素だけを取得できます。

Hash::extract(array|ArrayAccess $data, $path)

「名前(name)だけ」を取得したい場合

「年齢(age)が40歳以上の人を取り出したい」場合

たった一行だけで欲しい情報が取得できるのでとても便利です!

複数の指定も可能なので試してみてください!

「Hash::sort()」配列を並び替えることができる

どの次元のどんな値でもソートすることができる。

sort(array $data, $path, $dir, $type = ‘regular’)

第2引数の$dir:asc(昇順) または desc(降順) が指定可能です。
第3引数の$type:regular(通常のソート), string(文字列としてソート)など指定する。

「Hash::combine()」配列を組み替えることができる

配列を自由に組み換えることができます。

combine(array $data, $keyPath, $valuePath = null, $groupPath = null)

年齢(age)をキーとして配列にする。

最後に

今回はCakePHPのHashクラスについて簡単にご紹介しました。

Hashクラスを使うことにより配列の操作が容易になり、コードがみやすく記述ミスなども減るかなと思います。

配列操作が簡単なのでぜひHashクラス使用してみてください。

またwebで集客する方法を別の記事にまとめております。

詳しく解説しているので、web集客について深く知りたい方は、ぜひこちらもご覧ください。

web集客
【2023年更新】Web集客の方法と種類を無料・有料別に紹介!
今回の記事を読むことで、Web集客をして、実際に売上を伸ばすための最適な方法をご紹介します。





弊社inglowでは、これから広告の運用を考えられている方、あるいはこれから広告代理店に運用をお願いされる方向けに、「業界別Web広告の成功事例」をまとめた資料を無料配布しております。

下記のフォームに入力いただくだけで、無料で資料をダウンロードしていただけます。ぜひご利用下さい。

mihon

    このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシー利用規約が適用されます。

    一覧へ戻る