我有这样的代码:如何检查数组中的字符串是否包含php中的一部分字符串?
$arr = array("Hello_backup","World!","Beautiful_backup","Day!");
if(in_array("backup", $arr)){
echo "Da";
} else { echo "Nu";
}
但不工作,因为in_array指令检查整个字符串“备份”,这犯规exist.I需要检查字符串的一部分的阵列,例如,因备份是“Hello_backup”和“Beautiful_backup”串
的一部分返回true编辑:我拿意见,我已经使用stripos函数是这样的:
$arr = array("Hello_backup-2014","World!","Beautiful_backup-2014","Day!");
$word='backup';
if(stripos($arr,$word) !== false){
echo "Da";
} else { echo "Nu";}
但现在我得到一个错误:“stripos()期望参数1是字符串,数组给出在if(stripos($ arr,$ word)!== false){”
你的错误来自于一个事实,即你正在尝试使用数组,如果它是一个字符串。你需要在你的数组中使用'foreach'来获取这个数组包含的每个字符串。仔细看一下@Ghost的例子。 – GeoffreyB 2014-09-10 08:50:06
@Light并不一定,如果你想将所有数组值视为一个,你可以使用implode作为一个字符串连接数组元素。看到我的回答 – iswinky 2014-09-10 08:56:40