毎日変化のない学習が続いています。早くなにか作りたいものです。さて今日の学習は配列です。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を含みませんから、配列の個数を比較できることになります。
|