U-style PHP独学日記  Since2001 メインメニューに戻る PHPメニューに戻る
タイトル配列を使う
文書管理番号 作成日 分類1 分類2 キーワード

PHP0019

2002-09-07 文法 配列  

 毎日変化のない学習が続いています。早くなにか作りたいものです。さて今日の学習は配列です。PHPの配列は変数と同じく$を使うようです。設定はいたって簡単でした。まずは正規な書き方です。しかし[]内の数字(確か添え字といってたような?)は省略可能なようです。プログラム2で試します。

<?
header("Content-type: text/html; charset=euc-jp");
?>
<html>
<body>
<?
$Name[0] = "suzuki";
$Name[1] = "sato";
$Name[2] = "okamoto";
$Name[3] = "kita";

$intNum = 0;
for($intNum = 0; $intNum <= 3; $intNum++)
{
print(" $intNum 番目の人は $Name[$intNum] です<br>\n");
}
?>
</body>
</html>

実行結果

先日学習しましたfor文を使ってみました。なんのトラブルもなく一発で成功しました。最近めずらしいことです。コーディング量が増えてくるとバグが多くなってきます。先日は無限ループやっちゃいました。アパッチを停止して、また再起動かけましたが、あれで無限ループは停止したのでしょうか?疑問です。

さて次のプログラムです。上記のプログラムの省略記述版です。添え字を消去しました。

<?
header("Content-type: text/html; charset=euc-jp");
?>
<html>
<body>
<?
print("プログラム2<br>\n");
$Name[] = "suzuki";
$Name[] = "sato";
$Name[] = "okamoto";
$Name[] = "kita";

$intNum = 0;
for($intNum = 0; $intNum <= 3; $intNum++)
{
print(" $intNum 番目の人は $Name[$intNum] です<br>\n");
}
?>
</body>
</html>

実行結果
まったく同様の結果を得ることができました。これにより添え字はつけなくてもいいことが判明しました。添え字のスタートは0からのようです。

次のプログラムは配列の要素数(配列の個数)を取得して配列を表示するとういうものです。いやー便利なものがあるもんです。

<?
header("Content-type: text/html; charset=euc-jp");
?>
<html>
<body>
<?
print("プログラム3<br>\n");
$Name[] = "suzuki";
$Name[] = "sato";
$Name[] = "okamoto";
$Name[] = "kita";


for($intNum = 0; $intNum < (count($Name)); $intNum++)
{
print(" $intNum 番目の人は $Name[$intNum] です<br>\n");
}
?>
</body>
</html>

実行結果

14行目にcount($Name)がありますが、これで$Nameの要素数が取得できるようです。この配列の個数(要素数)は4個です。ですからcount($Name)は4という数字を返します。ただここで注意点があるようです。配列の個数は4ですが配列の最終添え字は$Name[3]です。つまり今までのプログラムどおり判定に<=を使うと無いものを参照することになってしまいます。ゆえに判定が今回のぷろぐらむでは<になっています。つまり$intNum<4ということです。<は「より下」で4を含みませんから、配列の個数を比較できることになります。

 


本日の参考文献

  • MySQL&PHPでつくるWebデータベース Spencer K Ogawa著 エーアイ出版