1. 程式人生 > >ThinkPHP模板IF標籤eq和三元表示式用法

ThinkPHP模板IF標籤eq和三元表示式用法

在微信小程式後端中用到了 IF標籤eq和三元表示式,下面記錄一下

<ul class="nav nav-tabs">

                        <li class="{if condition="input('tab',1) eq 1"}active{/if}"><a data-toggle="tab" href="#tab-1" aria-expanded="true">廣告列表</a></li>
                        <li class="{if condition="input('tab',1) eq 2"}active{/if}"><a data-toggle="tab" href="#tab-2" aria-expanded="false">新增新廣告</a></li>
                        <li id="showtab" class="{if condition="input('tab',1) eq 3"}active{/if}"><a data-toggle="tab" href="#tab-3" style="{if condition="input('tab',1) neq 3"}display:none{/if}" aria-expanded="false">編輯廣告</a></li>

                    </ul>


ThinkPHP的IF標籤可以用來定義複雜的條件判斷,例如:

?
1 2 3 4 < if condition= "($name eq 1) OR ($name gt 100) "
> value1 < elseif condition= "$name eq 2" />value2 < else /> value3 </ if >

注意:在condition屬性中可以支援eq等判斷表示式 ,同上面的比較標籤,但是不支援帶有”>”、”<”等符號的用法,因為會混淆模板解析,所以下面的用法是錯誤的:

?
1 2 3 < if condition= "$id < 5 " > value1 < else /> value2 </ if >

必須改成:

?
1 2 3 < if condition= "$id lt 5 " > value1 < else /> value2 </ if >


eq標籤

eq有兩個
一個是模板標籤 <eq name="變數名(不用$符)" value="和變數對比的值">符合條件後顯示的內容</eq>
一個是eq 相等的意思 就是 = 號 <if condition="$a eq 2">如果$a=2這裡會顯示</if>
三元表示式
   

{$status?'正常':'錯誤'}
{$info['status']?$info['msg']:$info['error']}
{$status?'正常':'錯誤'}