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

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

如何使用 PHP 檢查字符串是否包含兩個字符之一

如何使用 PHP 檢查字符串是否包含兩個字符之一

PHP
開心每一天1111 2023-06-24 18:23:49
我想檢查一個字符串是否包含 a%或 a €。我已經嘗試過使用strpbrk這樣的方法:$tekens = "€%";if (strpbrk($tekens, $kortingarray['waarde']) !== TRUE){    $return[] = array('status' => 'error', 'field' => 'waarde', 'message' => 'Controleer je waarde');}但這又回來了'status' => 'error'。有什么簡單的方法可以做到這一點?
查看完整描述

2 回答

?
慕的地6264312

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

strpbrk 的參數順序錯誤。另外,這個函數永遠不會返回 TRUE,它在找到匹配時返回一個字符串,在未找到匹配時返回 FALSE -?因此,更正后的代碼將是:

if?(strpbrk($kortingarray['waarde'],?$tekens)?===?FALSE)?{

不幸的是,這仍然不起作用,因為strpbrk它不知道不同的文本編碼——只有使用 8 位編碼時它才會按預期工作。您的字符串很可能是用 UTF-8 編碼的,這意味著您將獲得恰好包含用于編碼 € 的 3 個字節中的任何一個的任何字符串的匹配項。例如,?是一場比賽。

一個可行的解決方案是使用preg_match

if?(preg_match('/[€%]/u',$kortingarray['waarde'])?===?0)?{


查看完整回答
反對 回復 2023-06-24
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

簡單檢查我們是否可以檢索字符串位置應該適合您的情況。


$yourString = "€%fasdfasdf";


if (strpos($yourString, "€") !== FALSE || strpos($yourString, "%") !== FALSE) {

    //DO SOMETHING

}


查看完整回答
反對 回復 2023-06-24
  • 2 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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