我有这句话:
$newalt="My name is Marie";
如果找到marie或josh,我想要包含一个页面:
$words = array("marie", "josh");
$url_string = explode(" ", $newalt);
if(!in_array($url_string, $words)){
echo "marie or josh are not in array";
}
问题是,当我运行这个php时,它显示“marie或josh不在数组中”而marie是数组(或应该是)。 有什么问题?
答案 0 :(得分:1)
使用Top.jsp
<%@include file="/pages/includes/taglibs.jsp"%>
<s:text name='label.LastViews' />
和array_intersect
函数的解决方案:
array_map
答案 1 :(得分:1)
您错误地使用了in_array(),在数组中检查第一个参数是否在第二个参数中。
When(/^I create scenarios$/) do
if condition == true
else
#code i don't want to execute if condition matches
end
end
答案 2 :(得分:1)
您有2个错误。首先,in_array()
区分大小写。您需要先将干草堆全部小写。其次,in_array()
不接受数组作为针。要解决此问题,您可以使用array_diff()
:
$newalt="My name is Marie";
$words = array("marie", "josh");
$url_string = explode(" ", strtolower($newalt));
if(count(array_diff($words, $url_string) == count($words)){
echo "marie or josh are not in array";
}
答案 3 :(得分:1)
in_array函数的第一个参数是一个数组。你的$ words数组填充了字符串而不是数组。
也许尝试这样的事情:
$words = array("marie", "josh");
$urlStrings = explode(" ", $newalt);
foreach ($urlStrings as $urlString) {
if(!in_array($urlString, $words)){
echo "marie or josh are not in array";
}
}