我有一個變量,我想使用 php 來檢查它是否包含一組字符 我希望代碼是這樣的$groupofcharacters = ["$","#","*","("];if($variable contains any of the letters in $groupofcharacters){//do something}我知道這需要使用 strpos() 函數,但是如何使用 strpos 函數來檢查變量是否包含一組字符,而無需為我想要檢查的所有字符創建 strpos() 函數為了。如果您不明白可以在評論中告訴我
3 回答

UYOU
TA貢獻1878條經驗 獲得超4個贊
解決您的問題的最佳方法是使用正則表達式。嘗試這個:
<?php
$variable = 'Any string containing $*(#';
$sPattern = '/[$#*(]/';
if (preg_match($sPattern, $variable)) {
// Do something
}

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
您可以使用strpbrk
它來實現此目的。醫生說:
strpbrk — 在字符串中搜索任意一組字符
返回從找到的字符開始的字符串,如果未找到則返回 FALSE。
片段:
<?php
if(strpbrk($variable,"$#*(") !== false){
? ?// your logic goes here
}

LEATH
TA貢獻1936條經驗 獲得超7個贊
檢查它是否有任何字符。使用 strpos 首先,您需要在檢查數組中是否存在其中一個后,將數組組合為字符串
$groupofcharacters = ["$","#","*","("];
$strs = implode("", $groupofcharacters);
foreach(str_split($variable) as $s) {
if (strpos($s, $strs)) {
echo "it contains "; continue;
}
}
- 3 回答
- 0 關注
- 193 瀏覽
添加回答
舉報
0/150
提交
取消