php勉強ブログ

トップ > 基礎文法 > phpの配列

phpの配列

更新日:2022-12-26

phpで扱える配列には、「インデックス配列」と「連想配列」の2種類があります。

インデックス配列

インデックス配列は、キーに「0,1,2,3,4...」のように0から始まる連番の整数を取る配列です。 インデックス配列の特定の要素にアクセスしたい場合は、[]内でインデックスを指定します。

//インデックス配列
$members = Array("Harry","Ron","Hermione");
echo $members[1];
//Ron

インデックス配列の末尾に新しい値を追加する場合は、[]を使います。

$members = Array("Harry","Ron","Hermione");
$members[] ="Draco";
echo $members[4];
//Draco

連想配列

連想配列は、キーと値の組み合わせでデータを格納している配列です。 インデックス配列とは違い、キーは文字列で表現されます。 =>記号を用いてキーと値のペアを指定します。

//連想配列
$members = Array(
    "Potter" => "Harry",
    "Weasley" => "Ron",
    "Granger" => "Hermione"
);
echo $members["Weasley"];
//Ron

配列の長さを求める関数 count() sizeof()

配列にいくつの要素が格納されているかを調べるには、count()関数とsizeof()関数を使います。 どちらの関数もインデックス配列・連想配列のどちらにも使えます。

//インデックス配列の長さを求める
$members = Array("Harry","Ron","Hermione");
echo count($members); //3
echo sizeof($members); //3
//連想配列の長さを求める
$members = Array(
    "Potter" => "Harry",
    "Weasley" => "Ron",
    "Granger" => "Hermione"
);
echo count($members); //3
echo sizeof($members); //3

配列の要素を順番に処理する

配列の各要素に対して、ある処理を一律に行うには、foreach文を使う方法と、for文を使う方法があります。 foreach文を使う方法は、インデックス配列・連想配列のどちらにも使えますが、 for文を使う方法はインデックス配列にしか使えません。

foreach文
//foreach文を使って配列の各要素を処理

//インデックス配列の場合
$members = Array("Harry","Ron","Hermione");
foreach($members as $value){
    echo $value;
}
//Harry, Ron, Hermione

//連想配列の場合
$members = Array(
    "Potter" => "Harry",
    "Weasley" => "Ron",
    "Granger" => "Hermione"
);
foreach($members as $value){
    echo $value;
}
//Harry, Ron, Hermione

また、連想配列の場合、 $key => $value のように書くことで、キーと値どちらにもアクセスすることが可能です。

foreach($members as $key => $value){
    echo "名前:{$value} 苗字:{$key}";
}
//名前:Harry 苗字:Potter
//名前:Ron 苗字:Weasley
//名前:Hermione 苗字:Granger
for文
//for文はインデックス配列にしか使えない
$members = Array("Harry","Ron","Hermione");
for($i = 0; $i < count($members); $i++){
    echo $members[$i];
}
//Harry, Ron, Hermione

#基礎文法

コメントはこちらから

※コメント内容は公開されますので、個人情報など公開されてはいけない情報は投稿しないでください。

カテゴリー別

中の人

グラフィックとwebのデザインを請け負う個人事業主デザイナー。2022年4月に独立したばかり。銀河英雄伝説と十二国記が好き。