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));

如果只有一个,你真的应该这样做:

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 回答