1. 程式人生 > >ThinkPHP模板IF標籤用法詳解

ThinkPHP模板IF標籤用法詳解

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

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

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

<if condition="$id < 5 "> value1
<else
/> value2 </if>

必須改成:

<if condition="$id lt 5 "> value1
<else /> value2
</if>

除此之外,我們可以在condition屬性裡面使用php程式碼,例如:

<if condition="strtoupper($user['name']) neq 'THINKPHP' "> ThinkPHP
<else /> other Framework
</if>

condition屬性可以支援點語法和物件語法,例如自動判斷user變數是陣列還是物件:

<if condition="$user.name neq 'ThinkPHP' "> ThinkPHP
<else /> other Framework
</if>

或者知道user變數是物件

<if condition="$user:name neq 'ThinkPHP' "> ThinkPHP
<else /> other Framework
</if>

注意:由於if標籤的condition屬性裡面基本上使用的是php語法,儘可能使用判斷標籤和Switch標籤會更加簡潔,原則上來說,能夠用switch和比較標籤解決的儘量不用if標籤完成。因為switch和比較標籤可以使用變數調節器和系統變數。如果某些特殊的要求下面,IF標籤仍然無法滿足要求的話,可以使用原生php程式碼或者PHP標籤來直接書寫程式碼。

更多關於thinkPHP相關內容感興趣的讀者可檢視本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》。

希望本文所述對大家基於ThinkPHP框架的PHP程式設計有所幫助。