【CakePHP入門】Hashクラスの使い方をわかりやすく解説!

こんにちは!フリーエンジニアのヤマシタです。

CakePHPでは複雑な配列の処理を簡単に操作できる、Hashクラスがあります。

この記事では、

・Hashクラスとは?
・指定したデータを取得する方法
・配列の中に配列を挿入する方法
・配列を削除する方法
・配列同士を比較する方法

などのHashクラスの概要やHashクラスでよく使われるメソッドなどを解説していきます!

Hashクラスはよく使用する配列操作をより簡単に行うことができますので、この機会にぜひ覚えておきましょう!

Hash とは

Hashとは、さまざまな配列操作ができるクラスです。

たとえば、配列の中から指定したキーの値のみ取得したり、配列に値を追加、指定した要素の削除、連想配列の作成などをHashクラスを使用して簡単に行うことができます。

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

Hashクラスのメソッドは以下の式を使用して、要素の式として使用したり属性で絞り込んだりすることができます。

公式サイトによると、式は以下の4種類になります。

・式の種類
image1
出典:CakePHP 3.4

この式はHashクラスの全てのメソッドで使用することができます。


・属性の絞り込み種別

image2

指定したデータを取得する

extractメソッドの使い方

extractメソッドは配列の中から、指定したパスに沿ったデータを取得することができるメソッドです。

以下にextractメソッドを使用して、多次元配列のキーに紐づく値を取得する方法を記述します。

実行結果

このようにextractメソッドを使用すれば、foreachなどのループ文を使用しなくても、指定したキーの値が簡単に取得できますね!

また、式の条件次第でもっと細かくデータを取り出すことも可能です。

配列の中に配列を挿入する

insertメソッドの使い方

配列の中に配列を挿入するにはinsertメソッドを使用します。

$値は$パスの定義に従って配列の中に挿入します。

以下にinsertメソッドを使用して、配列の中に配列を挿入する方法を記述します。

実行結果

このようにinsert文を使用すれば、配列の中に配列を簡単に挿入できますね!

配列を削除する

removeメソッドの使い方

指定した要素を配列から削除するにはremoveメソッドを使用します。

removeメソッドは、第二引数の$パスに一致した要素を配列から削除します。

以下にremoveメソッドを使用して、指定したデータの配列を削除するサンプルを記述します。

実行結果

このようにremoveメソッドを使用すれば、指定した配列が簡単に削除できますね!

配列同士を比較する

containsメソッドの使い方

もう1つの配列の中に同じキーと値が存在するか、比較するにはcontainsメソッドを使用します。

containsメソッドは同じキーと値が存在した場合はTRUEを返します。

以下にcontainsメソッドを使用して、配列同士を比較して同じキーと値が存在するか、確認する方法を記述します。

実行結果

このようにcontainsメソッドを使用すれば、簡単に配列の比較を行うことができます。

まとめ

ここではHashクラスの内容やHashクラスでよく使用するメソッドを紹介しました。

Hashクラスをうまく使いこなせば、複雑な配列の操作も簡単に行うことができますのでこの機会にぜひ覚えておきましょう!

もしHashクラスの使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説