想从这个声明中得到一个我能在任何地方回应的输出变量。它需要检查$ PageTitle的值,然后将正确的值输出到变量中:
//页面信息
$PageTitle = "audio";
//Body header menu
$search_for = array('Electrical Service' => 'electrical, electrician, security, audio, video', 'Plumbing Service' => 'heating, gas', 'water' => 'water');
foreach ($search_for as $name=>$term){
if (strpos($PageTitle,$term) !== false){
echo $name;
// add break; here if you want to display only one (first) found
}
}
//need to echo result anywhere on page
echo $name;
FIDDLE:http://codepad.viper-7.com/FAelDG
输出" water"而不是"电气服务"
BigScar以非常漂亮和优雅的方式回答。
答案 0 :(得分:3)
你有strpos()
的论据错误的方法。它应该是:
if (strpos($term,$PageTitle) !== false){
看一下功能签名:haystack,needle,not needle,haystack
混合strpos(字符串$ haystack,混合$ needle [,int $ offset = 0])
Updated demo - 输出Electrical Service
。
答案 1 :(得分:3)
您使用了strpos()
错误。如果您查看手册:http://php.net/manual/en/function.strpos.php
从那里引用:
混合strpos(字符串 $ haystack ,混合 $ needle [,int $ offset = 0])
所以你必须改变你的论点的顺序,例如:
if (strpos($term, $PageTitle) !== false){
//^^^^^^^^^^^^^^^^^ Changed