我有一个变量,我想使用 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条经验 获得超6个赞
检查它是否有任何字符。使用 strpos 首先,您需要在检查数组中是否存在其中一个后,将数组组合为字符串
$groupofcharacters = ["$","#","*","("];
$strs = implode("", $groupofcharacters);
foreach(str_split($variable) as $s) {
if (strpos($s, $strs)) {
echo "it contains "; continue;
}
}
- 3 回答
- 0 关注
- 138 浏览
添加回答
举报
0/150
提交
取消