此代码运行后,我收到错误。我查找了可能的解决方案,但似乎所有内容都已正确格式化。
$searched = 'searched';
$count = '59';
$prop = Array();
$i = 0;
while ($i++ <= 4) {
array_push($prop[$i] = Array(
'text' => $searched,
'href' => 'http://mysite.com/?search=' . str_replace(' ', '+', $searched)
));
}
array_push($prop['Total Searches'] = $count);
我在while循环中收到此错误5次,在while循环下收到array_push 1次。
Warning: Wrong parameter count for array_push()
代码正常运行!但它仍然会调出错误。那么我应该压制错误吗?
答案 0 :(得分:6)
变化:
array_push($prop['Total Searches'] = $count);
为:
$prop['Total Searches'] = $count;
等
您只能使用array_push将值推送到列表样式数组的末尾。这与此无关,因为您只需设置一个新的键/值对。
答案 1 :(得分:2)
你正在混合方法。
了解array_push
,这不符合您的想法。
array_push($array, $val)
与$array[] = $val
类似。
你想只是:
$prop[$i] = Array(
'text' => $searched,
'href' => 'http://mysite.com/?search=' . str_replace(' ', '+', $searched)
));
和
$prop['Total Searches'] = $count;
答案 2 :(得分:0)
这将完成你的工作,
$searched = 'searched';
$count = '59';
$prop = Array();
$search_terms = Array();
$i = 0;
while ($i <= 4)
{
$search_terms['text'] = $searched;
$searched = str_replace(' ', '+', $searched);
$search_terms['href'] = 'http://mysite.com/?search='.$searched;
array_push($prop, $search_terms);
$i++;
}
$prop['Total Searches'] = $count;
并检查http_build_query,这就是我正在使用的内容。