プログラミングの基本から次のステップ【変数(配列)と繰り返し】

step プログラミング

前回の記事「プログラミングの基本って実は三つだけです【これさえ覚えればOK】」の続きです。

基本だった変数からの派生で、変数に配列を利用することと、その配列を利用した繰り返し処理について書いてみたいと思います。

配列とは?

前回も例に出した通り、変数とは値を格納しておく箱のようなもので、PHPでいくと以下のように使います。

$price = 9800;

これで変数priceの中には9800という値が入った状態。

では配列はどういうことかというと、まずは例で見てみましょう。

$price = array(9800,5980,14800);

arrayというのは配列という意味でそこあ固定の部分です、9800・5980・14800という3つの値を配列として変数priceに格納した状態となります。

変数priceの中身は$price[9800][5980][14800]というような感じになっているということです。

次に中に入ったデータをどうやって使うか?ということですが、配列には0から連番で順番が割り振られておりそれを指定することで利用可能です。

0番目:9800
1番目:5980
2番目:14800

1番目からとはならず0番目から始まるというところだけ注意が必要です。

一番初めはエヴァンゲリオン零号機、次が初号機といった感じです(違

使う時には以下のような形。

echo $price[1]; //5980が表示される

そしてこれを実務でどう使うの?って話ですが、こんな形の配列を使うことはあまりないですね。

実務でよく使うのはもう一つ踏み込んだ連想配列というものです。

連想配列とは?

先ほどの配列が0から連番で配列を格納できるものだったのに対し、連想配列では連番ではなくキーを指定して格納することが可能です。

実際に例を見た方が早いと思うので、以下をご覧ください。

$price = array('jeans' => 9800, 'shirt' => 5980, 'jacket' => 14800);

ちょっとこの書き方だとわかりづらいと思うので、同じ内容を以下のようにしてみます。

$price = array();
$price['jeans'] = 9800;
$price['shirt'] = 5980;
$price['jacket'] = 14800;

これで少しイメージがつかめそうでしょうか。利用する時はどちらも以下のような形。

echo $price['shirt']; //5980が表示される

ただの0からの連番だったのに対し、キーを指定することで何を表すかがわかりやすくなったかと思います。

ジーンズの値段:9800円
シャツの値段:5980円
ジャケットの値段:14800円

というような感じですね。

ここまでくると少し実務にも使うこともあるかなという印象です。

おそらく一番使うのはデータベースからSELECT文で取ってきた値を利用する形ですが、それはまた別途で学習した方がいいと思うので別記事での解説したいと思います。

繰り返し処理

配列、連想配列と合わせて使う機能として繰り替え処理があげられます。

例えば先ほどの3商品の値段を商品一覧として並べて表示するとしたらこのような形。

※繰り返し処理の書き方は各言語によって違いがあります、この例ではPHPですが使用する言語の繰り返し処理は調べればすぐわかるはずです

foreach ($price as $key => $val) {
    echo $val;
}

値段だとイマイチ並べて表示する意味がわからないので、商品名の配列としましょうか。以下のように配列を用意します。

$product_name = array();
$product_name['jeans'] = 'ジーンズ';
$product_name['shirt'] = 'シャツ';
$product_name['jacket'] = 'ジャケット';

そしてその配列を繰り返し処理で表示はほぼ同じです。

foreach ($product_name as $key => $val) {
    echo $val;
}

商品名3つ並べて表示して何の意味があるの?と思うかもしれませんが、大手ECサイトのように何百万と商品がある場合はどうでしょうか。

もちろんその場合は20商品毎にページを分けて表示=ページングの処理を追加する必要もありますが、数がどんなに多くても繰り返し処理ができる点がプログラムのメリットです。

まとめ

基本的なことから始まり、今回は基本を少し応用したものでした。

あとはデータベースから取ってきたデータの扱い方を学べば基本的なサイトは作れるのかなと思いますが、データベースの扱いは色々と気を付けることもあります。

機会があれば記事にしていきたいと思いますので、またよろしければ参考にしていただければ幸いです。