【发布时间】:2014-09-10 08:37:39
【问题描述】:
我有这个代码:
$arr = array("Hello_backup","World!","Beautiful_backup","Day!");
if(in_array("backup", $arr)){
echo "Da";
} else { echo "Nu";
}
但是不起作用,因为 in_array 指令检查数组是否存在完整的字符串“backup”,它不存在。我需要检查字符串的一部分,例如,返回 true,因为备份是“Hello_backup”和“Beautiful_backup”字符串
编辑:我接受了建议,我使用了这样的条带:
$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 示例。 -
@Lght 不一定,如果要将所有数组值视为一个,可以使用 implode 将数组元素连接为字符串。看我的回答