〜一行掲示板の表示順を最新に〜■Lessonを終えると以下のようなPHPプログラムが作れます。Lessonサンプル■What'sさて、いい加減に表示順を最新が上に来るようにしたいと思います。ついでにログの表示件数も設定しちゃいましょう。コレはループでちょっといじればできちゃいます。いきましょう!■サンプルプログラムテキストエディタに以下のように書き込んで、「lesson10」フォルダの中に「form3.php」として保存しましょう。color=\"#FF0000\"><b>何も入力されていません</b></font>";}}?><html><head><title>一行掲示板</title></head><body><h1>一行掲示板</h1>書き込む内容を入力してください。"記事NO.${i}:${data[$i]}<br>\n<hr>";}?></form></body></html>できましたら、ブラウザのアドレスに「http://localhost/lesson10/form3.php」と入力してアクセス!!ロリポップ!さくらのレンタルサーバなどのレンタルサーバー使ってる方はlocalhostのところはドメイン名になります。10;まずは、ココ!表示する件数を$logに代入しています。お好きなログ表示件数を代入してください。$i--)今回、いじったのはココですね。私も全然わかりませんでした。$i=sizeof($data)-1forループの初期値のところですが、sizeof()関数を使って、$data配列の要素数をカウントしています。要素数(書き込みの数)が15あったとします。なると、「$i=sizeof(15-1)」となります。-1なのか?テキストエディタでもいいので15行書いてみるとわかりやすいかもしれません。$dataで一行目を表示するには、「$data[0]」ですよね?そうなんです!ゼロから始まるのです!ですから、1行目→$data[0]2行目→$data[1]3行目→$data[2]4行目→$data[3]5行目→$data[4]15行目→$data[14]となるわけです。$iの初期値には「$i=15-1=14」が代入されるわけですね。$i>=(sizeof($data)-$log)さて、次に評価ですが、「$i>=0」となっているのは「$iは0以上」ということです。$iはゼロが含むというのがミソです。&&を使って「$i>=sizeof($data)-$log」となっています。これは、表示する件数を設定しています。(表示ログ数より大きければ)」ということになります。「$iは0以上、かつ、$iは書き込み件数-ログ表示件数」ということになります。これがtrueの間ループを処理していくわけです。反復子では、「$i--」として$iから1ずつ引いていきます。例を挙げながら追っていきます。以下の書き込みがあったとします。明日から出張ナンデスヨ。14-1=13となる。評価に入りtureであれば{}を実行する。このように処理することで、配列の一番最後から表示していくことができます。表示件数も設定できるのでナイスです。如何でしたでしょうか?ちょっとコレで理解して頂けるかなぁ?と、ちょっと説明に自信が無かったりするわけですが、もしこれでも分からなければBBSのほうに書いてください。詳しく書いてみたいと思います。このままですと、タグが使えてしまうのでソレを無効化したいと思います。トップの一行BBSにはIFRAMEタグが大好きな方がいまして、よく使っているのでそろそろセキュリティ対策もしろYOってことだと思うので次のLessonではソレをとりあげたいと思います。