5章配列
2章で説明したように、PHPではスカラー型だけでなく複合型もサポートしています。本章では、複合型の1つである配列について説明します。配列とは、いくつかの値を順序付きの「キー/値」のペアにまとめたものです。配列をイメージするには、卵のケースを考えてみるとよいでしょう。ケース内の個々のエリアが卵を保持していますが、箱全体をひとまとめにして持ち運べます。そして、卵ケースに卵以外のものを入れてはいけない決まりはない(小石でも雪玉でも、四つ葉のクローバーやボルト、ナットでも、何でも入れられる)のと同様に、配列にはどんな型のデータも入れることができます。文字列でも整数値でも論理型でも、何でも入れられます。さらにいうと、別の配列を入れることもできますが、これについては後述します。
本章では、配列を作成する方法、配列でデータを追加および削除する方法、そして配列の内容を順に処理する方法について説明します。配列は非常によく用いられるものなので、PHPには配列処理用の関数がたくさん用意されています。たとえば、複数の宛先にメールを送信する場合、送信先のメールアドレスを配列にまとめておき、その配列を順に処理してメールを送信していくことになるでしょう。また、複数選択可能なフォームでユーザが選択した内容は、配列形式で返されます。
5.1 インデックス配列と連想配列
PHPには、インデックス配列と連想配列という2種類の配列があります。インデックス配列のキーは0から始まる整数です。インデックス配列は、要素を位置で識別するときに使用します。連想配列は文字列をキーとして持ち、列が2つある表のように機能します。最初の列がキーで、値にアクセスするために使用します。
PHPは内部的に、すべての配列を連想配列として保持します。これは、連想配列とインデックス配列は、キーがたまたま文字列なのか数値なのかの1点だけが異なる、ということです。配列の機能の中には、主にインデックス配列で使用されるために提供されているものがありますが、これは、0で始まる連続した整数がすでにある場合やそういうキーが必要な場合をインデックス配列が前提としているからです。どちらの場合も、キーは一意です。言い換えると、キーが文字列であるか整数であるかに関係なく、2つの要素に同じキーを持たせることはできません。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access