1. 程式人生 > >TP5 if判斷語句用法

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/78083688

IF標籤

用法示例:

{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: