PHPにおける配列

変数が理解できたら、変数の拡張とも言える配列を覚えておきたい。

変数ではひとつの変数に付きひとつの値しか持てない。
ゲームプログラミングでもデータベースプログラミングでも、 単純な変数だけでも作れなくはないが、配列を使うほうがよほど早い。
配列を作るには

array

という関数を使う。
代入は以下のようにする。

$status = array("STR" , "INT" , "DEX" , "LUCK");

こうして代入された配列は

$status[0] が STR
$status[1] が INT

というようになる。
ついでにステータスの値も代入しておこう。

$atai = array("100" , "80" , "70" , "60");

これで上と同じように$atai[0]は100となる。

それではこれをページに表示させてみよう。
前項でやったforを使う。

<?php
$status = array("STR" , "INT" , "DEX" , "LUCK");
$atai = array("100" , "80" , "70" , "60");
print ("<table>");
for ($i=0; $i<4; $i++){
print ("<tr><td>" . $status[$i] . "</td><td>" . $atai[$i] . "</td></tr>");
}
print ("</table>");
?>

結果は以下のようになる。

STR100
DEX80
INT70
LUCK60

printで出力する時に$status[$i]としている。
この$iはforで宣言した$iで、1回処理されるごとに+1されるため、初回は$status[0]が表示され、 2回目は$status[1]が表示されるという仕組み。
同じように$ataiも$iを使って表示している。

このように変数名[数]という使い方が最も基本でなおかつ使う場面が多い。
データベースなどで1〜31日分のデータがある場合、 何列あろうとも例えば10日のデータは全ての配列で[9]に入っている。
あれ、10じゃないの?と思う人もいるかもしれないのでようやくにしてその辺を説明すると、 コンピューターにおける数の数え方は0から始まる。
上でやっていた配列も1番最初のキーは[0]となっている。
つまり、1日目のデータは[0]に入っているので、10日目は[9]に入っているわけ。
そして、上の例のforで使っている$iも初めに0を代入しているので$iは0から始まり、$i<4としているので、0、1、2、3で終わる。
この辺は結構うっかりしてしまうところでもある。
配列[0]を1日目にしない方がうっかりしにくかったりするので、 例えば配列[0]には「日付」などを入れるような工夫をする。

話し戻って、データベースで$日付、$体重、$血圧(高)、$血圧(低)・・・、などのように大量に配列を作っていても、 10日を含め各配列[9]に入っているデータは全てその日に測ったデータである、という事。
なんという便利な!
ホームページ作成ソフトやExcelでウェブページとして保存したりで同じような表は簡単に作れるが、 汎用性や表として出力した後の入れ替えなどのもろもろの変更はPHPで動的に行えるほうが遥かに便利だ。

これを利用して予めデータファイルを作っておき、ファイルからデータの読み込みをすればあっという間に表がかけるので是非試して欲しい。



サンプル

著作権について
ファイルからデータの読み込み
ファイルへのデータの書き込み
フォルダ内のファイル名取得
アクセスカウンターの作り方
アンケートの作り方
フォームからのデータの取得
フォーム以外のページからのデータの取得
ファイル内、文章内の文字列の検索
パスワード認証の方法と作り方

0から始めるPHP

PHPのすすめ(これ飛ばしてもいい)
必要な環境とPHPへのアクセス
開発に使うもの
初めての方への注意点
PHPの基本(何らかの言語経験者向け)
PHPの基本(初めての人向け)
書き方
ファイルの読み込み

プログラミング講座
文字などの出力
PHPにおける変数
ifによる条件比較
forによる繰り返し処理
PHPにおける配列
これまでとこれからの学び方

PHPの使える
おすすめレンタルサーバー

スタードメイン

レンタルサーバーの選び方


その他

プログラミングのコツ
プログラマーと年齢
誰でも簡単にできるサーバー負荷対策
社内や自宅サーバーのグローバルIPアドレスが変わってもアクセスできるようにする

日記

2014年
日本語形態素データとキーワード出現回数
Androidベースのゲーム機に期待
4月末に判明したIEの脆弱性について
フラッシュプレーヤーの製作
ホームページとウェブサイトの違い
WIFIなどの用語は正しく使いたい
国産ゲーム会社のサイトについて
検索エンジンの開発について
プレインストールWindowsからの脱却
Android・iPhoneとアプリ開発
Windows8、スタートボタンはもういらない?
サイトの作成とやるやらないは別
あの人は詳しいと言う人と言われる人
index.htmlと/の正規化について
AndroidOSとLinuxOS
モバイル端末で必ず見るもの
ユーザー参加型市民アプリ

2013年2月
2013年1月
2012年12月
2012年11月
2012年10月
2012年9月