我有一个变量,我想用php检查它是否包含一组字符,我希望代码是这样的
$groupofcharacters = ["$","#","*","("];
if($variable contains any of the letters in $groupofcharacters){
//do something}
我知道这将需要使用strpos()函数,但是如何使用strpos函数来检查变量是否包含一组字符,而不必为所有要检查的字符创建strpos()函数。
如果你不明白,可以在评论里告诉我
解决问题的最佳方法是使用正则表达式。 请尝试以下操作:
<?php
$variable = 'Any string containing $*(#';
$sPattern = '/[$#*(]/';
if (preg_match($sPattern, $variable)) {
// Do something
}
您可以使用strpbrk
来实现这一点。 医生说:
strpbrk-搜索字符串中的任何一组字符
返回从所找到的字符开始的字符串,如果未找到该字符串,则返回FALSE。
代码段:
<?php
if(strpbrk($variable,"$#*(") !== false){
// your logic goes here
}