notebook510

備忘録とか覚え書き的なところを想定しています

PHP入門 第5回 配列

今日のSchoo講座は配列。

何度、配列の解説って聞いたり読んだりしたかな。。。

かなり眠くなったけど、今日もこの記事で復習したいと思います。

 

配列の概念

変数は通常、一つの値しか入れられないが、
配列は宣言すれば、複数の値を入れることができます。

 

 

配列は空でも良い

空の配列を宣言して、あとからデータを入れることができる。

<?php
$x = array();
$x[] = "いちご";

 

配列は0から始まる

配列の添え字は0から指定します。

講座ではタンスを例にしていましたが、
現実世界なら一段目にあたるのが、
配列なら、0段目となる感じです。

 

<?php
$x = array("りんご", "オレンジ", "いちご");

上記の配列の1個目の値「りんご」を出力するなら

echo $x[0] ;

と記述します。

 

配列の関数

PHPの配列関数はたくさんあるので全容は下のURLで。

http://php.net/manual/ja/ref.array.php

 

動画で出てきた関数

  • array_push・・・要素を配列の最後に追加
  • array_pop・・・配列の最後の要素を取り除く
  • array_sum・・・配列の中の値の合計を計算
  • count・・・配列の中の要素の個数を返す
  • sort・・・配列の中の要素を並び替える

プログラム的にpushといったら追加、
popといったら削除という感じだそうです。

 

foreach文

配列$xの要素を先頭から順に取得し、
$dataに保存する

<?php

$x = array("オレンジ","リンゴ","ベリー");
foreach( $x as $data ){
echo $data;
}

 

上記のスクリプトをforeachを使わずに
for文で書くと下記のような感じ

<?php

$x = array("オレンジ","リンゴ","ベリー");
for($i = 0; $i < count($x) ; $i++){
echo $x[$i];
}

配列$xに入っている要素数まで繰り返す。
count関数前に付く演算子は、<=にしないようにする

 

二次元配列

配列の要素に配列を入れる

 

二次元配列のサンプル

<?php

$x = array();
$y = array(1, 3, 5, 7);
$z = array(2, 4, 6, 8);
array_push($x, $y);
array_push($x, $z);

 これをprint_rで出力すると

Array (
[0] => Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 )
[1] => Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
)

このような感じ。

左端の[0][1]をエクセルでいうところの行、
さらに、それぞれに入っている配列を行と考える

 

例えば、上記コード中、[0]に格納されている配列の中から
2番目の要素の値 3 を取り出す場合は、

echo $x[0][1];

と記述すると出力できる。エクセルのセルをイメージすると
分かりやすいと思います。