0

このような配列が必要です:

array('quadra_id'=>$quadra_id);

フォームから送信される内容に応じて、動的に作成します。

$where = array();

if($quadra_id != 0) {
   array_push($where, $quadra_id);
}

それは私にこれを返します:

array
  0 => string '8762' (length=3)

そして私はこれが必要です:

array
  'quadra_id' => string '8762' (length=3)
4

6 に答える 6

4

array_pushは、数値インデックスを使用して新しい要素を配列に追加しますが、必要なのは文字列インデックスです。だからあなたは実際にこれをしたいです:

$where['quadra_id'] = $quadra_id;
于 2011-05-19T14:24:06.153 に答える
2

交換:

array_push($where, $quadra_id);

と:

$where['quadra_id'] = $quadra_id;
于 2011-05-19T14:23:54.747 に答える
2

あなたはただインデックスを提供する必要があります私はこのようにします

$where = array();

if($quadra_id != 0) {
   $where['quadra_id']= $quadra_id;
}
于 2011-05-19T14:25:21.683 に答える
2

この行を置き換えてください...

array_push($where, $quadra_id);

...次のように:

$where ['quadra_id'] = $quadra_id;

于 2011-05-19T14:25:35.560 に答える
0

あなたが探しているのは:

array_push($where, array('quadra_id'=>$quadra_id));

1つしかない場合は、実際には次のことを行う必要があります。

if($quadra_id != 0) {    
  $where = array('quadra_id'=>$quadra_id);
}
于 2011-05-19T14:23:08.450 に答える
0

$whereを$_POSTと等しく設定できます。$ whereに配置してはならない他のフォーム入力がある場合は、次のように、入力名の配列に配置することでそれらを脇に置くことができます。

<input name='where[quadra_id]' value='' />

この場合、$whereは$_POST['where']に設定されます。

于 2011-05-19T15:38:32.907 に答える