PHP - 使用数组进行动态创建时遇到困难

发布于 2024-11-08 14:38:46 字数 389 浏览 0 评论 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)

I need a array like this one:

array('quadra_id'=>$quadra_id);

The deal is that I'll create it dynamically, according to what is sent by the form.

$where = array();

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

It returns me this:

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

And I need this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

蓦然回首 2024-11-15 14:38:46

array_push 将新元素添加到带有数字索引的数组中,而您想要的是字符串索引。所以你实际上想要这样做:

$where['quadra_id'] = $quadra_id;

array_push adds the new element to the array with a numeric index, while what you want is a string index. So you actually want to do this:

$where['quadra_id'] = $quadra_id;
迷途知返 2024-11-15 14:38:46

替换:

array_push($where, $quadra_id);

为:

$where['quadra_id'] = $quadra_id;

Replace:

array_push($where, $quadra_id);

With:

$where['quadra_id'] = $quadra_id;
明月夜 2024-11-15 14:38:46

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

$where = array();

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

you just need to supply the index I would do it this way

$where = array();

if($quadra_id != 0) {
   $where['quadra_id']= $quadra_id;
}
瀟灑尐姊 2024-11-15 14:38:46

将此行...

array_push($where, $quadra_id);

...替换为以下内容:

$where ['quadra_id'] = $quadra_id;

Replace this line...

array_push($where, $quadra_id);

...with the following:

$where ['quadra_id'] = $quadra_id;

梅倚清风 2024-11-15 14:38:46

你正在寻找的是:

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

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

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

What you're looking for is:

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

If there's only going to be one, you should really just do:

if($quadra_id != 0) {    
  $where = array('quadra_id'=>$quadra_id);
}
烈酒灼喉 2024-11-15 14:38:46

您可以将 $where 设置为等于 $_POST。如果您有其他不应该出现在 $where 中的表单输入,您可以通过将它们放入输入名称的数组中来将它们放在一边,如下所示。

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

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

You can set $where equal to $_POST. If you have other form inputs that should not be in $where, you can set them aside by putting them in an array in the input name, like this.

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

In this case, $where would be set to $_POST['where'].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文