2

このコードを実行すると、エラーが発生します。可能な解決策を調べましたが、すべてが正しくフォーマットされているようです。

$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()

コードは正しく動作します。それでもエラーが発生します。では、エラーを抑制すればよいのでしょうか。

4

3 に答える 3

6

変化する:

array_push($prop['Total Searches'] = $count);

に:

$prop['Total Searches'] = $count;

リスト形式の配列の末尾に値をプッシュするには、array_push のみを使用します。新しいキーと値のペアを設定しているだけなので、これはここでは関係ありません。

于 2011-05-23T21:49:55.317 に答える
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;
于 2011-05-23T21:51:13.803 に答える
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を確認してください。それが私が使用しているものです。

于 2011-05-23T22:02:14.917 に答える