我得到这个错误:
警告:strpos():空针在。。。。。。popularity-contest.php on2574线
function akpc_is_searcher() {
global $akpc;
$referrer = parse_url($_SERVER['HTTP_REFERER']);
$searchers = explode(' ', preg_replace("n|r|rn|nr", ' ', $akpc->searcher_names));
foreach ($searchers as $searcher) {
if (strpos($referrer['host'], $searcher) !== false) {
return true;
}
}
return false;
}
有人能帮我解决这个问题吗?
一堆PHP搜索函数使用术语"needle"one_answers"haystack"作为它们的参数名称,指示要查找的内容和查找位置。
strpos
函数就是这样一个函数。"空指针"表示您已将null或空值作为要查找的指针。这就像说"什么都不搜索",对函数来说没有意义。
要解决此问题,请检查作为指针传递的变量是否具有实际值。empty
函数是一个很好的选择。
如果您在WP_config.php中将WP_DEBUG设置为false,则警告应该会消失。如果您想修复它,请尝试以下操作:
function akpc_is_searcher() {
global $akpc;
$referrer = parse_url($_SERVER['HTTP_REFERER']);
$searchers = explode(' ', preg_replace("n|r|rn|nr", ' ', $akpc->searcher_names));
foreach ($searchers as $searcher) {
if ( ! empty($searcher) && strpos($referrer['host'], $searcher) !== false) {
return true;
}
}
return false;
}