在我正在处理的网站上有一个副标题,如果主标题中尚未显示该信息,则只应显示该标题。主标题是任意字符串,而子标题是以编程方式创建的。子标题是根据多维数组的内容生成的(其内容也用于页面的其他部分。)
我使用foreach
的PHP示例深入了解数组(只知道它是如何工作的一半),然后尝试strpos
以查看数组中的值是否在标题字符串。
不幸的是,它不起作用。我很有可能在我认为应该如何运作时犯了一个愚蠢的错误。或者,告诉站点隐藏子标题(“hider”)的变量由于数组中的其他值而不断重置为“no”。
foreach ($arr_info as $i1 => $n1) {
foreach ($n1 as $i2 => $n2) {
foreach ($n2 as $i3 => $n3) {
$pos = strpos($headline, $n3);
if ($pos === false) {
$hider="no";
} else {
$hider="yes";
}
}
}
有什么想法吗?非常感谢帮助。
答案 0 :(得分:0)
添加:
$hider="yes"; break;
希望有所帮助
答案 1 :(得分:0)
我认为更清晰的方法是从值中构造一个正则表达式,看它是否与你的字符串匹配:
$values = array();
array_walk_recursive($arr_info, function($k){$GLOBALS['values'][] = preg_quote($k);});
$hider = preg_match('/(' . implode($values, '|') . ')/', $headline) ? 'yes' : 'no';