web制作のしおり

日々の学習をアウトプットします。

71.PHP基本文法③ ~配列~


本日はPHPの配列についてやっていきます。

 

ここ2,3日PHPとは別に学習することがあって内容が薄くなっている感が否めませんがカメの歩みなのはいつものことなので、それでも継続していきます。

 

PHPでの配列

まずはコードを見てみましょう。

 

<?php
  $prices = [ 1980, 2980, 3480, 3980];
?>

 

こんな形で複数のデータをインデックスという番号でまとめて管理できる変数のまとまりみたいなものです。

$配列名 =[ データ0, データ1, データ2, データ3.....];

※インデックス番号は0から始まることに注意です。

 

先程の例の$prices配列の1980のデータにアクセスしたい時は

$prices[0]

とすることで、データにアクセスできます。

echo $prices[0];

とすれば、文字列として1980が表示されるわけです。

 

改めて、配列内のデータアクセスの記述は下記です。

 

$配列名[アクセスしたいデータのインデックス番号];

※インデックス番号は0から始まることに注意です。

 

大事なことなので2回書きました。

 

インデックス番号で「データを意味のある集まり」として管理できるのが、配列というわけですね。

 

配列にデータを追加する

データのまとまりを作ったのは良いけれど追加もしたい。

あると思います。

そんな時は

$配列名[ ] =追加したいデータ;

で追加できます。

先程の配列に追加するなら、

$prices= 9800;

以上のように書くことで追加されます。

因みにインデックスでいうと最後尾に追加されます。

なので、

<?php
  $prices = [ 1980, 2980, 3480, 3980];

 $prices= 9800;
?>

こうして書いた後の配列の中身は以下のようになっていて、

[1980, 2980, 3480, 3980, 9800]

<?php

echo $prices[4];
?>

とすれば文字列として9800が表示されるのです。

※インデックスは0番から始まります。ダメ押しで最後にもう一回。

 

配列の中身を全部取り出す

1つずつ配列のデータにアクセスしていると、

これ全部使うのにインデックスで指定するの面倒だなって

思うことがあるかもしれません。

 

そんな時はforeach文

 

foreach ($配列名 as $配列から取り出したデータを入れる変数名 ){

取り出したデータ入りの変数を使った処理;

}

※青字の部分は自分で任意の変数名を決めて使います

こう記述することで、

配列の最初のインデックス番号(0)のデータを取り出して処理を行い、終わったら次のインデックス番号のデータを取り出して処理を行い、終わったら・・・

と配列内のすべてのデータを最初から最後まで取り出して処理をしてくれるのです。

 

先程の配列で使うと

<?php
  $prices = [ 1980, 2980, 3480, 3980,9800 ];

foreach ($prices as $price ){

echo $price;

}

?>

 

こんな感じで記述できます。

上記コードの流れを確認すると

1980から3980までのデータが入った$pricesから1つずつデータを取り出して、

都度$price変数に代入して、括弧内のecho $priceで文字列として表示する。

を配列のデータ全てに対して1回ずつ行っている。

ということです。

 

ですが、foreachがないと

<?php
  $prices = [ 1980, 2980, 3480, 3980,9800 ];

echo $prices[0];

echo $prices[1];

echo $prices[2];

echo $prices[3];

echo $prices[4];

?>

こう長々と書かないといけないわけです。

 

foreachありがとう。

 

今日のまとめ

  • 配列はデータを1つのまとまりとしてインデックス番号で管理する仕組み
  • 配列のデータにはインデックス番号でアクセスできる
  • インデックス番号は0から始まる
  • foreachを使うことで、インデックス番号をしていしないで配列のデータ全てに処理ができる

今日は配列についてやってきました。

 

これが今後PHPでどんなふうに使われてくるのか、

楽しみですね。

 

では、また。