Reputation: 35
I am receiving an error once this code runs. I have looked up possible solutions but everything seems to be formatted correctly.
$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);
I receive this error 5 times for the while loop, and 1 time for the array_push under the while loop.
Warning: Wrong parameter count for array_push()
The code works correctly! but it still calls out the error. So should I just suppress the error?
Upvotes: 2
Views: 17125
Reputation: 1496
this will do your job,
$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;
and check http_build_query, thats what i am using.
Upvotes: 0
Reputation: 385098
You're mixing approaches.
Read about array_push
, which doesn't do what you think it does.
array_push($array, $val)
is like $array[] = $val
.
You want just:
$prop[$i] = Array(
'text' => $searched,
'href' => 'http://mysite.com/?search=' . str_replace(' ', '+', $searched)
));
and
$prop['Total Searches'] = $count;
Upvotes: 2
Reputation: 21918
Change:
array_push($prop['Total Searches'] = $count);
to:
$prop['Total Searches'] = $count;
etc.
You only use array_push to push a value on to the end of a list-style array. This is not relevant here, as you're just setting a new key/value pair.
Upvotes: 6