配列
今回は、配列というものに触れてみたいと思います。 配列というのは一言で言ってしまうと、「複数の値を持つことができる箱」です。 変数は値を一つしか持てず、同じ変数に複数回値を代入すると、最後に代入した値で上書きされてしまいます。 …と書いてもわかりづらいので、実際にコードを書いてみましょう。
<?php
$soap = array(); //array関数を使い、
//$soapという変数は配列ですよと明示しておく。
$soap[] = "牛乳石鹸"; //$soap[]に牛乳石鹸を代入。
$soap[] = "プリン石鹸"; //$soap[]にプリン石鹸を代入。
print "<p>".$soap[0]."</p>"; //$soap[0]を<p>タグで括って表示。
print "<p>".$soap[1]."</p>"; //$soap[1]を<p>タグで括って表示。
?>
上記のコードを保存し、ブラウザで表示すると、「牛乳石鹸」、「プリン石鹸」と表示されます。 順番に説明していくと、まず「$soap = array();」の部分で、$soapというものは配列であると定義しています。 これについてはあっても無くても良いのですが、長いコードを書く際には、配列であるということをわかりやすく明示したほうが良いでしょう。
次に「$soap[] = "牛乳石鹸";」の部分ですが、「[]」を変数名の後ろに付ける事で、配列を表しています。 このコードでいくと「配列$soapに牛乳石鹸を代入します」という感じですね。 次の行も同様になりますが、配列では、「$soap[] = 」とすることで、配列を上書きせずに追加していくことができます。 逆に上書きしたい場合は「$soap[0] = 」と上書きしたい配列の番号を指定すると、値が上書きされます。 ちなみに「$soap[] = 」として配列に値を入れていった場合は、$soap[0],$soap[1]…と0から順番に値が代入されていきます。 1からではないので、ご注意ください。 今回は2回値を代入しているので、「print」で「$soap[0]」と「$soap[1]」を書き出すことで、代入した二つの値を表示しています。
最後に、配列の代入方法は他にもありますので、一例を紹介しておきます。
<?php
$test = array("テスト","試験"); //$testという配列を作成し、
//テスト、試験という値をセット
print "<p>".$test[0]."</p>"; //$test[0]の内容を<p>タグで括って表示。
print "<p>".$test[1]."</p>"; //$test[1]の内容を<p>タグで括って表示。
?>
上記のコードを保存し、ブラウザで表示すると、「テスト」、「試験」と表示されます。 「$test」を配列であると明示した時点で、値を代入しているのです。値は「,(カンマ)」で区切ることで複数代入できます。
<?php
$drink[0] = "ビール"; //$drink[0]にビールを代入。
$drink[1] = "カクテル"; //$drink[1]にカクテルを代入。
print "<p>".$drink[0]."</p>";
print "<p>".$drink[1]."</p>";
?>
上記のコードを保存し、ブラウザで表示すると「ビール」、「カクテル」と表示されます。 これは直接数字を指定して代入した例になります。 今回は「array()」で配列であるということを明示していませんが、問題なく配列としてPHPに認識されています。
配列の代入の仕方には方法が色々ありますが、その時々の状況に応じて使い分けると良いでしょう。