本日のお題は配列とループ文です。
ループの勉強3日目です。
本日のPHP講師にはid:m_shige1979先生をお呼びしております。
先生よろしくお願いします。
forやwhileで回数を指定する場合は予めcount文の結果を変数に格納してから使用した方がパフォーマンス的にはちょっとだけ速くなります。
今回みたいに100回以下なら問題ないけど…
ふむふむ。
確かに配列の配列数を取得する「count()関数」をループ内で使ってしまうと、何度もcount()が呼び出されて非効率ですね。
100回以下程度のループなら良いのでしょうが、これが100万回のループとかになると無視できない遅さの原因になりかねません。(その前に、100万回ループは処理を見直すべきですね(^^;)
プログラムが複雑化する前に、先にこういった対応はしておいた方がよいですね。
id:m_shige1979先生、教えて頂きましてどうもありがとうございます(^^)/
プログラミング
さてさて、本日は画像と名称を出力してみましょう!
00:40 実装開始。
・・・
00:54 実装完了。
14分で実装できました。
画像のURL取ったりで時間が掛かりました(^^;
作ったPHPの公開URL
動作画面
ソースコード
<?php $arrayImg = array('http://omt.shinobi.jp/images/hatena_ninja_l.png', 'http://omt.shinobi.jp/images/twitter_tweet_ninja_l.png', 'http://omt.shinobi.jp/images/google_plusone_ninja_l.png', 'http://static.evernote.com/site-mem-32.png', 'http://omt.shinobi.jp/images/pocket_ninja_l.png', 'http://omt.shinobi.jp/images/tumblr_icon_blue_l.png', 'http://omt.shinobi.jp/images/rss_button_l.png'); $arrayName = array('はてなブックマーク', 'ツイッター', 'ググタス', 'エバーノート', 'ポケット', 'タンブラー', 'アールエスエス'); $imgCnt = count($arrayImg); $nameCnt = count($arrayName); // TABLE枠組み echo '<table>'; for ($i = 0; $i < $imgCnt; $i++) { // もう一方のカウントオーバーでもやめる if ($i > $nameCnt) { return; } echo '<tr><td>'; echo '<img src='.$arrayImg[$i].'>'; echo '</td><td>'; echo '<b>'.$arrayName[$i].'</b>'; echo '</td><tr>'; } echo '</table>'; ?>
おぉ!結構きれいに出せた!
成功成功♪
- 出版社/メーカー: MakeMusic/MI7 Japan
- 発売日: 2012/04/26
- メディア: DVD-ROM
- この商品を含むブログを見る