TP5 if判斷語句用法
EMPTY NOTEMPTY 標籤
empty標籤用於判斷某個變數是否為空,用法:
{empty name="name"}
name為空值
{/empty}
如果判斷沒有賦值,可以使用:
{notempty name="name"}
name不為空
{/notempty}
可以把上面兩個標籤合併成為:
{empty name="name"}
name為空
{else /}
name不為空
{/empty}
name屬性可以直接使用系統變數,例如:
{empty name="Think.get.name"}
$_GET['name']為空值
{/empty}
例子:
<option value="1" {if condition="$rsEdit.type eq 1"}selected{/if}>教務</option> <option value="2" {if condition="$rsEdit.type eq 2"}selected{/if}>機構</option> <option value="3" {if condition="$rsEdit.type eq 3"}selected{/if}>財務</option> <option value="4" {if condition="$rsEdit.type eq 4"}selected{/if}>業務</option>
例子:不等於空
{if condition="$rsEdit.img != ''"}<img src="/uploads/{$rsEdit.img}" width="50px" height="50px">{/if}
<form class="layui-form" action="{empty name='$rsEdit.uid'}{:url('main/addschool')}{else /}{:url('main/editschool')}{/empty}" method="post">
判斷多個變數不為空
{if condition="($count_notice neq null) or ($count_consultant neq null)"}
許可權判斷例子:
說明:
1、session('manage')=“1,2,3,5,6,7”;
2、get_array_repeats(explode(',',session('manage')),7) == 1
判斷7在session('manage')中出現的次數,上面==1,說明出現了一次,即7這個許可權使用者是有的,出現次數大於1,說明有這個許可權。
{if condition="(get_array_repeats(explode(',',session('manage')),7) == 1) or (get_array_repeats(explode(',',session('manage')),8) == 1)"} <div class="layui-form-item"> <label class="layui-form-label">許可權</label> <div class="layui-input-block"> <input type="checkbox" name="manage[]" value="1" title="增加" {if condition="get_array_repeats(explode(',',$rsEdit.manage),1) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="2" title="修改" {if condition="get_array_repeats(explode(',',$rsEdit.manage),2) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="3" title="刪除" {if condition="get_array_repeats(explode(',',$rsEdit.manage),3) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="4" title="匯入" {if condition="get_array_repeats(explode(',',$rsEdit.manage),4) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="9" title="匯出" {if condition="get_array_repeats(explode(',',$rsEdit.manage),9) > 0"}checked{/if}> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">層次</label> <div class="layui-input-block"> <input type="checkbox" name="manage[]" value="5" title="員工" {if condition="get_array_repeats(explode(',',$rsEdit.manage),5) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="6" title="操作員" {if condition="get_array_repeats(explode(',',$rsEdit.manage),6) > 0"}checked{/if}> <input type="checkbox" name="manage[]" value="7" title="總監" {if condition="get_array_repeats(explode(',',$rsEdit.manage),7) > 0"}checked{/if}> {if condition="get_array_repeats(explode(',',session('manage')),8) == 1"} <input type="checkbox" name="manage[]" value="8" title="管理員" {if condition="get_array_repeats(explode(',',$rsEdit.manage),8) > 0"}checked{/if}> {/if} </div> </div> {/if}
表示式不分大小寫,支援的查詢表示式有下面幾種,分別表示的含義是:
表示式 | 含義 |
---|---|
EQ、= | 等於(=) |
NEQ、<> | 不等於(<>) |
GT、> | 大於(>) |
EGT、>= | 大於等於(>=) |
LT、< | 小於(<) |
ELT、<= | 小於等於(<=) |
LIKE | 模糊查詢 |
[NOT] BETWEEN | (不在)區間查詢 |
[NOT] IN | (不在)IN 查詢 |
[NOT] NULL | 查詢欄位是否(不)是NULL |
[NOT] EXISTS | EXISTS查詢 |
EXP | 表示式查詢,支援SQL語法 |
> time | 時間比較 |
< time | 時間比較 |
between time | 時間比較 |
notbetween time | 時間比較 |
表示式查詢的用法示例如下:
詳細:http://blog.csdn.net/haibo0668/article/details/78083688IF標籤
用法示例:
{if condition="($name == 1) OR ($name > 100) "} value1
{elseif condition="$name eq 2"/}value2
{else /} value3
{/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標籤來直接書寫程式碼。
簡潔的用法
{if condition="表示式"}{if (表示式)}{if 表示式}
範圍判斷
範圍判斷標籤包括in notin between notbetween四個標籤,都用於判斷變數是否中某個範圍。
IN和NOTIN
用法: 假設我們中控制器中給id賦值為1:
$id = 1;
$this->assign('id',$id);
我們可以使用in標籤來判斷模板變數是否在某個範圍內,例如:
{in name="id" value="1,2,3"}
id在範圍內
{/in}
最後會輸出:id在範圍內
。
如果判斷不在某個範圍內,可以使用notin標籤:
{notin name="id" value="1,2,3"}
id不在範圍內
{/notin}
最後會輸出:id不在範圍內
。
可以把上面兩個標籤合併成為:
{in name="id" value="1,2,3"}
id在範圍內
{else/}
id不在範圍內
{/in}
name屬性還可以支援直接判斷系統變數,例如:
{in name="Think.get.id" value="1,2,3"}
$_GET['id'] 在範圍內
{/in}
更多的系統變數用法可以參考系統變數部分。
value屬性也可以使用變數,例如:
{in name="id" value="$range"}
id在範圍內
{/in}
$range變數可以是陣列,也可以是以逗號分隔的字串。
value屬性還可以使用系統變數,例如:
{in name="id" value="$Think.post.ids"}
id在範圍內
{/in}
BETWEEN 和 NOTBETWEEN
可以使用between標籤來判斷變數是否在某個區間範圍內,可以使用:
{between name="id" value="1,10"}
輸出內容1
{/between}
同樣,也可以使用notbetween標籤來判斷變數不在某個範圍內:
{notbetween name="id" value="1,10"}
輸出內容2
{/notbetween}
也可以使用else標籤把兩個用法合併,例如:
{between name="id" value="1,10"}
輸出內容1
{else/}
輸出內容2
{/between}
當使用between標籤的時候,value只需要一個區間範圍,也就是隻支援兩個值,後面的值無效,例如
{between name="id" value="1,3,10"}
輸出內容1
{/between}
實際判斷的範圍區間是1~3
,而不是1~10
,也可以支援字串判斷,例如:
{between name="id" value="A,Z"}
輸出內容1
{/between}
name屬性可以直接使用系統變數,例如:
{between name="Think.post.id" value="1,5"}
輸出內容1
{/between}
value屬性也可以使用變數,例如:
{between name="id" value="$range"}
輸出內容1
{/between}
變數的值可以是字串或者陣列,還可以支援系統變數。
{between name="id" value="$Think.get.range"}
輸出內容1
{/between}
RANGE
也可以直接使用range標籤,替換前面的判斷用法:
{range name="id" value="1,2,3" type="in"}
輸出內容1
{/range}
其中type屬性的值可以用in/notin/between/notbetween,其它屬性的用法和IN或者BETWEEN一致。
PRESENT NOTPRESENT標籤
present標籤用於判斷某個變數是否已經定義,用法:
{present name="name"}
name已經賦值
{/present}
如果判斷沒有賦值,可以使用:
{notpresent name="name"}
name還沒有賦值
{/notpresent}
可以把上面兩個標籤合併成為:
{present name="name"}
name已經賦值
{else /}
name還沒有賦值
{/present}
present標籤的name屬性可以直接使用系統變數,例如:
{present name="Think.get.name"}
$_GET['name']已經賦值
{/present}
SWITCH標籤
用法:
{switch name="變數" }
{case value="值1" break="0或1"}輸出內容1{/case}
{case value="值2"}輸出內容2{/case}
{default /}預設情況
{/switch}
使用方法如下:
{switch name="User.level"}
{case value="1"}value1{/case}
{case value="2"}value2{/case}
{default /}default
{/switch}
其中name屬性可以使用函式以及系統變數,例如:
{switch name="Think.get.userId|abs"}
{case value="1"}admin{/case}
{default /}default
{/switch}
對於case的value屬性可以支援多個條件的判斷,使用”|”進行分割,例如:
{switch name="Think.get.type"}
{case value="gif|png|jpg"}影象格式{/case}
{default /}其他格式
{/switch}
表示如果$_GET["type"] 是gif、png或者jpg的話,就判斷為影象格式。
Case標籤還有一個break屬性,表示是否需要break,預設是會自動新增break,如果不要break,可以使用:
{switch name="Think.get.userId|abs"}
{case value="1" break="0"}admin{/case}
{case value="2"}admin{/case}
{default /}default
{/switch}
也可以對case的value屬性使用變數,例如:
{switch name="User.userId"}
{case value="$adminId"}admin{/case}
{case value="$memberId"}member{/case}
{default /}default
{/switch}
使用變數方式的情況下,不再支援多個條件的同時判斷。
簡潔的用法
{switch $User.userId}
{case $adminId}admin{/case}
{case $memberId}member{/case}
{/switch}
官方詳細文件:https://www.kancloud.cn/manual/thinkphp5/125019
相關推薦
TP5 if判斷語句用法
EMPTY NOTEMPTY 標籤 empty標籤用於判斷某個變數是否為空,用法: {empty name="name"} name為空值 {/empty} 如果判斷沒有賦值,可以使用: {notempty name="name"} name不為空 {/notempty}
js基礎第二天(if判斷語句)
執行 部分 nbsp -s cnblogs 簡單 ges logs mat if是js比較重要的部分,內容比較簡單,單是在工作中是用的最多的。今天已經把表單的部分補齊了。 If...else 條件判斷 if(條件表達式){ 如果條件是true,執行該處代
if判斷語句
是否 邏輯運算符 描述 table 兩個 返回 als 關系運算 ble <1> 比較(即關系)運算符 python中的比較運算符如下表 運算符描述示例 == 檢查兩個操作數的值是否相等,如果是則條件變為真。 如a=3,b=3則(a == b) 為 t
shell中if判斷語句
file true pan rep then 好的 test 遇到 col if 條件測試類型: 文件測試, 數字測試, 字符串測試 if 語句結構: if ... ; then ....; fi if ... ; then ... ; else ... ; fi
ThinkPHP前臺的IF判斷語句
null span 方式 ron strong if判斷 nbsp and col 判斷方式1 <if condition="$vo.classid neq null">//code<elseif condition="$vo.classid eq 6"
Python中的流程控制--if判斷語句
python中的流程控制--if判斷語句1.if 用法舉例: if語句寫法: if expression: statement(s) 註:python使用縮進作為其語句分組的方法,建議使用4個空格。(1)條件為真true (非空的量(string,tuple,list ,set,dic
shell練習題之bash知識點(for循環、if判斷語句結構練習)
bash相關、bash知識點:文件測試[ ][[ ]]test單目測試:-e file :測試文件是否存在-a file :測試文件是否存在-f file: 測試是否為普通文件-d 目錄: 測試是否為目錄文件-h file: 測試是否為鏈接文件-r somefile: 測試其有效用戶是否對此文件有讀取權
shell腳本的if判斷語句
mkdir 大小 是否 elif for tmp tar.gz 等於 命令 if語句 1、按照文件類型進行判斷-d 文件)判斷該文件是否存在,並且是否為字符設備文件(是字符設備為真)-e 文件)判斷該文件是否存在(存在為真)[-e /root]echo $?輸出為0
Golang學習筆記(七)if判斷語句
golang的判斷語句,不再需要用()來括起條件,但{必須跟if在一行。和java一樣,也有else關鍵字。 基礎例子,判斷奇偶數,給出一個值30,讓程式來判斷。 func EvenOdd(){ num := 30 if num % 2 == 0 { fmt.Println(nu
if判斷語句,比較(即關係)運算子
<1>if判斷語句介紹 if語句是用來進行判斷的,其使用格式如下: if 要判斷的條件: 條件成立時,要做的事情 demo1: age = 30 print "------if判斷開始------" if age >= 18: print "我已經成年了"
python資料型別、if判斷語句
python的資料型別: int(整型) float(浮點型) #相較c++,去除了char、long、longlong。。。 str(字串) #同等c++ sting型別 list(列表) dict(字典) #對比c,c++中的陣列
Python學習筆記(六)if判斷語句
判斷語句又稱為分支語句,正是因為有了判斷,才讓程式有了很多的分支 一、if判斷語句基本語法 if 要判斷的條件: 條件成立時,要做的事情 if語句以及縮排部分是一個 完整的程式碼塊 &
從《java程式設計基礎》開始學習(第四章),學會了if判斷語句,以及快捷判斷賦值
package 第四章;//fliename:App4_1.java public class App4_1 //定義一個類,名字為App4_1 { public static void main(String[] args) { int a=1,b=2,c=3,max,min; //定義一個整形變數a,b,
if 判斷語句
if 條件:if語句塊當條件成立的時候會執行if語句塊, 如果條件不成立. 不執行語句塊的內容 例: money = int(input("請輸入你兜裡的錢:")) # 300 if money > 500: print("吃燒烤") print("喝啤酒") prin
python-if判斷語句
1、if判斷語句介紹 if語句是用來進行判斷的,其使用格式如下: if 要判斷的條件: 條件成立時,要做的事情 1.1 demo1: age = 30 print "------if判斷開始------" if age>=18: print "我已經成年了"
SAS IF判斷語句
SAS 提供一下型別的判斷語句。 SN 宣告型別和說明 1. if語句由條件組成。 如果條件為真,則提取特定資料。 2. if語句後跟隨else語句,當
小程式-if判斷語句/條件判斷語句簡析 /顯示隱藏判斷
小程式的條件判斷語句格式為: wx:if="{{xxx}}" -------------if(){} wx:elif="{{xxx}}" ------else if wx:else="{{xxx}}" ------else] 同時如果通過true/false判斷某元素是否顯示或者隱藏,同樣用wx:
Linux shell if 判斷語句
[ -a FILE ] 如果FILE存在則位真。 [ -b FILIE ] 如果FILE存在且是一個塊特殊檔案則為真。 [ -c FILIE ] 如果FILE存在且是一個字特殊檔案則為真。 [ -d FILE ] 如果FILE存在且是一個目錄則為真。 [ -e
Shell IF判斷語句
-b 當file存在並且是塊檔案時返回真 -c 當file存在並且是字元檔案時返回真 -d 當pathname存在並且是一個目錄時返回真 -e 當pathname指定的檔案或目錄存在時返回真 -f 當file存在並且是正規檔案時返回真 -g 當由pathname指定的檔
Python中的if判斷語句
1 判斷語句1.1 if判斷語句if語句是用來進行判斷的,其使用格式如下: if 要判斷的條件: 條件成立時,要做的事情案例: age = 30 print "------if判斷開始------" if age>=18: