看板 PHP 關於我們 聯絡資訊
※ 引述《ccg ()》之銘言: : 最近剛學php學到for迴圈,看到在設成table的一範例為 : <?php : echo "<table border='1'>"; : for($i=1; $i<=10; $i++){ : if($i % 2 !=0){ : echo "<tr><td width='50'>{$i}</td>"; : }else{ : echo "<td width='50'>{$i}</td></tr>"; : } : } : echo "</table>"; : ?> : : 請問為何echo在一開頭就要出現呢? : 為何出現這麼多echo啊?? 冏> : 謝謝 讓我們轉換一個型式來呈現看看如何?(view) <table border="1"> <tr> <?php for($i = 1;$i <= 10;$i++):?> <td width="50"><?echo $i?></td> (這裡的echo才是必要性的輸出) <?php if($i % 2 == 0 && $i != 10):?> </tr><tr> <?php endif?> <?php endfor?> </tr> </table> 可能的話注意幾個小細節: 1.如果迴圈的量是非固定值,則可將此量值帶變數。 2.如果是foreach解資料陣列,在那之前可能就需要多塞一個序列值給每一筆資料。 3.有時候有人會堅持連for、if之類的都應該在程式端執行,這我沒什麼太大的意見。 不過這樣的做法可能會需要第二、第三個view檔案。 4.初心者聽不懂很正常。因為這是樣版式的做法。也就是說,其實這個樣版最終是 被希望給主程式載入的view檔案。雖然並沒有限制說他就一定是個view。 但如果你很期望先拿他檔一般程式來使用,要不就是主程式位於你開始輸出端的 最上端,要不就乾脆你的主程式是另一個檔案,你可以把主程式require進來。 5.MVC並不是什麼難以理解的架構,就算一開始不懂也可以嚐試去了解看看。 即使最初會變成「CM」「V(顯示)」分離,至少你讓V先離家出走你就邁進很多步。 額外的小技巧提供給對VIEW這個功能有想要自己寫寫看的朋友們。 這是關於SHORT TAG的做法。 有人之前說「<?=」這樣的東西萬一PHP設定關閉了SHORT TAG的話不就不能用? (<?= 就是 <?php echo) 如果你有嚐試用eval去寫個view出來的話。 那就在eval之前,用str_replace將「<?=」變成「<?php echo」就行了。 之前看到ci強制將「<?=」給開放的原因就是因為他做了這件事。 可不是用ini_set去強制改掉php設定檔。 正所謂上有政策下有對策,程式設計師的工作就是拼命找對策! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.130.91
Kelunyang:推! 10/24 10:02
ccg:感謝~~推~~ 10/24 11:33
george755185:推 我也還在「CM」「V」的階段XD 10/24 14:04
Kelunyang:我大概可以分出MVC 了XD 10/24 18:01
superpai:寫foreach(range(1,10) as $i): 比較酷XD 10/24 23:44
ileadu:你的表格echo 出來會很有趣 10/26 09:25