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
#基礎文法
コメントはこちらから
※コメント内容は公開されますので、個人情報など公開されてはいけない情報は投稿しないでください。