我收到此错误:
警告:strpos():空针......人气 - 竞赛.php上 第2574行
function akpc_is_searcher() {
global $akpc;
$referrer = parse_url($_SERVER['HTTP_REFERER']);
$searchers = explode(' ', preg_replace("\n|\r|\r\n|\n\r", ' ', $akpc->searcher_names));
foreach ($searchers as $searcher) {
if (strpos($referrer['host'], $searcher) !== false) {
return true;
}
}
return false;
}
有人可以帮我解决这个问题吗?
答案 0 :(得分:8)
一堆PHP搜索功能使用术语“needle”和“haystack”作为参数名称,指示搜索的内容以及搜索位置。
strpos
函数就是这样一个函数。 “空针”表示您已传入空值或空值作为要查找的针。这就像是说“搜索什么都没有”,这对功能没有意义。
要解决此问题,请检查您作为针传入的变量是否具有实际值。 empty
函数是一个不错的选择。
答案 1 :(得分:3)
如果在wp_config.php中将WP_DEBUG设置为false,则警告应该消失。如果要修复它,请尝试以下操作:
function akpc_is_searcher() {
global $akpc;
$referrer = parse_url($_SERVER['HTTP_REFERER']);
$searchers = explode(' ', preg_replace("\n|\r|\r\n|\n\r", ' ', $akpc->searcher_names));
foreach ($searchers as $searcher) {
if ( ! empty($searcher) && strpos($referrer['host'], $searcher) !== false) {
return true;
}
}
return false;
}