亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 preg_match() 結果與 (bool) 一起使用?

將 preg_match() 結果與 (bool) 一起使用?

PHP
慕標琳琳 2022-12-30 17:39:15
我想我會使用preg_match()with的結果(bool),但我不太確定。我覺得不清楚結果是不是true還是false。示例 1:if (((bool) preg_match($pattern, $string, $matches)) === true)示例 2:if (((bool) !preg_match($pattern, $string, $matches)) === true)示例 3:if (((bool) preg_match($pattern, $string, $matches)) === false)示例 4:if (((bool) !preg_match($pattern, $string, $matches)) === false)另一種想法是:有結果的事情將來也安全嗎0?1你有這方面的經驗嗎?你能報告什么?編輯 0:鑒于if沒有比較運算符,問題得到了擴展。0總是false和1總是true?_示例 5:if ((preg_match($pattern, $string, $matches)))示例 6:if ((!preg_match($pattern, $string, $matches)))這個對嗎?(preg_match($pattern, $string, $matches))= 0| 1(!preg_match($pattern, $string, $matches))= true| false不是!
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

preg_match() 如果模式與給定主題匹配則返回 1,如果不匹配則返回 0,如果發生錯誤則返回 FALSE。這是 3 個可能的答案。如果將其簡化為布爾值 (true/false),則會丟失一些信息。


$result = (bool) preg_match($pattern, $string, $matches);

$result 如果模式匹配則為真,否則為假或發生錯誤。


此 if 條件僅在 preg_match 返回 1 時執行。


if (preg_match($pattern, $string, $matches)) {


}

如果不執行可能不匹配或出錯。


必須進行嚴格比較才能區分所有 3 種變體:


$preg_match_result = preg_match($pattern, $string, $matches);


if($preg_match_result === 1) {

  //pattern matches


}

elseif($preg_match_result === 0) {

  //pattern not matches


}

else {

  //$preg_match_result === false   

  //an error occurred


}


查看完整回答
反對 回復 2022-12-30
  • 1 回答
  • 0 關注
  • 90 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號