PHP の長い開発期間を経て、多くのユーザーが PHP をよく知っています。ここで、私の個人的な理解を表明し、PHP の配列要素について説明します。多数の変数 (場合によっては 100 近くも) を使用するスクリプトを作成したことがある場合は、各変数の機能とその動作を追跡することがどれほどイライラするかをご存知でしょう。本当に、私もその経験があります。変数を別の変数内に保存できれば、変数リストの長さは 100 から 10 未満に減ります。これが配列の誕生方法です。
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN class=attribute><FONT color=#ff0000>arrayPeople</FONT></SPAN><SPAN> = array("John", "Susie", "Dave"); </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
ここでは、$sperson1、$sperson2、および $sperson3 の代わりに $arrayPeople を使用します。 PHP で array() 関数をどのように使用しているかに注目してください。 3 つの名前が数字である場合、私なら引用符で囲みません。 3 つの名前を表示するには、次のようにしました:
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN class=attribute><FONT color=#ff0000>arrayPeople</FONT></SPAN><SPAN> = array("John", "Susie", "Dave"); </SPAN></SPAN><LI class=alt><SPAN>print $arrayPeople[0]; </SPAN><LI class=""><SPAN>print $arrayPeople[1]; </SPAN><LI class=alt><SPAN>print $arrayPeople[2]; </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
なぜ最初から始めるのですか?インデックスはそこから始まるからです。配列に何を入力しても、インデックスは常にゼロ (0) から始まり、自動的に累積されます。特定のエントリをインデックスに手動で割り当てることもできますが、それについては後ほど説明します。ここで、ループを通じて配列の内容を自動的に表示する方法を示します:
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN class=attribute><FONT color=#ff0000>arrayPeople</FONT></SPAN><SPAN> = array("John", "Susie", "Dave"); </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>nArraySize</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>count</FONT></SPAN><SPAN>($arrayPeople); </SPAN></SPAN><LI class=""><SPAN>for($</SPAN><SPAN class=attribute><FONT color=#ff0000>index</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; $index </SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN> $nArraySize; $index++) // max. index is always number of entries - 1 </SPAN></SPAN><LI class=alt><SPAN>// because index starts at zero </SPAN><LI class=""><SPAN>{ </SPAN><LI class=alt><SPAN>print $arrayPeople[$index]; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
この場合、$index はエントリのインデックス (アドレス) で、$nArraySize は PHP 配列要素の数です。 count() 関数は、PHP 配列内の要素の数を返します。私が今扱った配列のような小さな配列の場合、ループを使用するとコードの長さは増加しますが、数百または数千の要素を持つ配列 (実際に存在します) を扱い始める場合は、ループを使用しても問題ありません。
次に、配列に独自のインデックスを作成する方法について説明します。 SESSIONS を使用してサイトの管理者権限を設定するときは、配列を使用してセッション情報を保存します。関連するコードは次のとおりです
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>SESSION</FONT></SPAN><SPAN>= </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(); // that creates a blank array </SPAN></SPAN><LI class=alt><SPAN>$SESSION["username"] = $sUserName; </SPAN><LI class=""><SPAN>$SESSION["password"] = $sPassword; </SPAN><LI class=alt><SPAN>$SESSION["accesslevel"] = $nLevel; </SPAN><LI class=""><SPAN>// etc,etc,etc. </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
単語を使用してインデックスを表す方法がわかりますか?このようにして、$SESSION["username"] にその人の名前が含まれていることがわかります。これは、ユーザー名が保持されていることを $SESSION[0] から記憶するよりもはるかに簡単です。配列を扱うときは、このように要素を表すためにインデックスの代わりに変数の名前を常に使用します。したがって、$nDaysinMay を配列 $arrayDays に保存するには、$arrayDays["nDaysinMay"] を使用します。こうすることで、要素にどの変数が含まれているかを常に知ることができます。