PHP - 使用数组进行动态创建很困难

时间:2011-05-19 14:21:01

标签: php arrays array-push

我需要一个像这样的数组:

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)

6 个答案:

答案 0 :(得分:4)

array_push使用数字索引将新元素添加到数组中,而您想要的是字符串索引。所以你真的想这样做:

$where['quadra_id'] = $quadra_id;

答案 1 :(得分:2)

替换:

array_push($where, $quadra_id);

使用:

$where['quadra_id'] = $quadra_id;

答案 2 :(得分:2)

你只需要提供我会这样做的索引

$where = array();

if($quadra_id != 0) {
   $where['quadra_id']= $quadra_id;
}

答案 3 :(得分:2)

替换此行...

array_push($where, $quadra_id);

......以下内容:

$where ['quadra_id'] = $quadra_id;

答案 4 :(得分:0)

您正在寻找的是:

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

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

if($quadra_id != 0) {    
  $where = array('quadra_id'=>$quadra_id);
}

答案 5 :(得分:0)

您可以设置$ where等于$ _POST。如果您有其他表单输入不应该在$ where中,您可以将它们放在输入名称中的数组中,就像这样。

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

在这种情况下,$ where将被设置为$ _POST ['where']。