0

在我正在处理的网站上,只有当信息尚未显示在主标题中时才应显示副标题。主标题是任意字符串,而副标题是通过程序创建的。副标题是从多维数组的内容生成的(其内容也用于页面的其他部分。)

我使用了 PHP 示例foreach来深入了解数组(对它的工作原理只了解了一半),然后尝试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";
            }
        }
    }

有任何想法吗?非常感谢您的帮助。

4

2 回答 2

0

添加这个:

$hider="是";
休息;

希望能帮助到你

于 2011-12-03T01:11:45.933 回答
0

我认为更简洁的方法是从值中构造一个正则表达式,看看它是否与您的字符串匹配:

$values = array();
array_walk_recursive($arr_info, function($k){$GLOBALS['values'][] = preg_quote($k);});
$hider = preg_match('/(' . implode($values, '|') . ')/', $headline) ? 'yes' : 'no';
于 2011-12-03T01:52:32.640 回答