php if多條件,php 多個IF語句條件

2021-10-25 20:40:12 字數 986 閱讀 9726

我有乙個php指令碼,它通過我自己的自定義函式執行乙個值陣列,該函式使用php函式preg_match.它正在尋找與我的正規表示式為$valuea的匹配,並且我要搜尋的字串為$valueb,如果找到匹配,則將其返回到$match,否則我不希望我的if語句執行.

現在,如果函式找到匹配(換句話說,為true),我執行這個if語句沒問題;

if ($match = match_this($valuea, $valueb))

//do this

但是,如果我想比較乙個額外的條件來檢查它是否也是true,並且只在兩個都為true時執行if語句,我會遇到問題;

if ($match = match_this($valuea, $valueb) && $x == 'x')

//do this

當兩個條件都為true時,我最終輸出1來自$match而不是我的$match值,而不是正常執行.

我可以看看發生了什麼.我的if語句只是將乙個文字布林值true返回到$match,而不是我從match_this()返回的值;

這是因為我只能回歸一種真實感嗎?

我可以通過使用兩個巢狀的if語句來解決這個問題,但為了清晰的**,我希望能夠比較我的if中包含返回值的函式的多個條件.

是否有不同種類的真實?如果是這樣,我如何以這種方式比較它們?或者有更簡單的方法嗎?我想我可以在我的函式中放入第二個if語句並通過函式傳遞我的第二個條件,但是我的函式在其目的方面不會非常明確地定義.

解決方法:

if (($match = match_this($valuea, $valueb)) && $x == 'x')

你錯過了一組額外的括號.

如果沒有$match = match_this($valuea,$valueb)周圍的額外括號,則評估&&&首先執行,最後將結果分配給$match.

或者,您可以使用和(優先順序低於賦值=)而不是&&

標籤:php,function,if-statement,condition,statements

php if 判斷條件語句,PHP條件判斷語句

php 條件語句 在您編寫 時,經常會希望為不同的決定執行不同的動作。您可以在 中使用條件語句來實現這一點。在 php 中,我們可以使用以下條件語句 if 語句 如果指定條件為真,則執行 if else 語句 如果條件為 true,則執行 如果條件為 false,則執行另一端 if elseif e...

php多條件篩選

php獲取當前url路徑的函式及伺服器變數 server query string 查詢 query 的字串 server request uri 訪問此頁面所需的uri server script name 包含當前指令碼的路徑 server php self 當前正在執行指令碼的檔名 案例 適用...

php多條件篩選順序 PHP之多條件混合篩選功能

function getquerystring else 如果還沒有篩選條件 newurl oldurl name value 跳轉 window.location newurl function setselected name,value var all li name find li 清除所有...