多個<?php if .. echo'..'; ?>如何最佳化寫法?

來源:互聯網
上載者:User
多個:

'; ?>

'; ?>

'; ?>

'; ?>

'; ?>

'; ?>

如何最佳化寫法?謝謝

*又編輯了一下,in_category 和 後面的 class 其實是沒有規律的。

回複內容:

多個:

'; ?>

'; ?>

'; ?>

'; ?>

'; ?>

'; ?>

如何最佳化寫法?謝謝

*又編輯了一下,in_category 和 後面的 class 其實是沒有規律的。

for($i=1; $i<7; $i++) {    if(in_category($i)) {        echo "

"; }}

對於代碼最佳化我沒有太多見解,留給其他小夥伴補充吧

更新:
再次最佳化了一下

$arr = array(    10=>'

', 25=>'

', 38=>'

', 44=>'

', 50=>'

', 61=>'

');function inCatToHtml($arr) { while (list($key, $value) = each($arr)) { if(in_category($key)) { echo $arr[$key]; } }}inCatToHtml($arr);

echo 可以根據實際情況最佳化,最後返回一個 in_category 的數組HTML,然後統一處理

'; }}

不過感覺html裡面混寫php很low...

推薦

  1. php模板引擎。

  2. 前端單頁或是一個簡單的js引擎。

======== 噗,題主修改了下,我也改下 ==========

 'icon-home',    ....];具體就不寫了...和上面一樣。

"; }}?>

表現層只關心表現就行了,至於一共有多少個category,如何判斷當前頁面的category,每個category的class是什麼,無論你準備放db也好,寫數組配置也好,都封裝到Category類裡面去。

上面寫了這麼多,我還是覺得樓主原先的寫法一目瞭然

覺得樓主這個多個if的判斷條件直接用switch比較合適吧。不知道樓主這個in_category方法裡面的代碼是什麼樣的的,就大膽改變一下這個方法吧。方法裡用switch

function in_category( $num ) {    switch ($num) {        case '10':            echo'

'; break; case '25': echo'

'; break; case '38': echo'

'; break; case '44': echo'

'; break; default: echo ''; break; }}

然後直接in_category( 10 )可以嗎?

假設題主是在判斷文章屬於哪個分類就輸出某個ICON
那麼你可以先對分類做一個定義,

$categroies = [    10=>['class'=>'icon-home'],    25=>['class'=>'icon-dog'],    38=>['class'=>'icon-cat'],    44=>['class'=>'icon4']    //當然這裡的資料可以是從資料庫裡封裝好的];//等待輸出的html$html = '';$class_i = 1;foreach($categories as $key => $category) {    if (in_category($key)) {        $html .= '

'; }}echo $html;

這裡不知道in_category的用途,如果是為了判斷某個文章是否在某個分類因而需要去遍曆所有的分類,這樣的方式還是挺不合邏輯的。

前後端分離最好了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.