【问题标题】:How to push an object into an array which is the value in a key/value pair in php如何将对象推送到数组中,该数组是php中键/值对中的值
【发布时间】:2015-06-23 10:45:17
【问题描述】:

我选择了一个 Key => 值对作为我的数据结构,其中键是一些文本,值是我将存储对象的数组。 这里是我声明我的 Key => 值(数组)

$array = array(
  "key1" => array(),
  "key2" => array(),
  "key3" => array(),
);

我正在尝试循环并将一个新对象推送到数组中,但我不知道如何。

类似:

While (...){
 ...
 $object = new obj();
 array_push($array['key1'], $object);
 ...
}

但是这样我得到了错误

array_push() expects parameter 1 to be array

【问题讨论】:

  • 您显示的特定代码应该像那样工作。
  • 原来数组不能是键值对中的值。我不得不修改我的数据结构。
  • 出于好奇,你是什么意思?
  • 好吧,也许我错了,但经过一些研究,我确定 Key 无法与数组配对。如果可以的话,我不知道如何通过索引 Key 来将对象添加到该数组中。
  • 您基本上是在说您问题中的代码不代表您的实际代码?

标签: php object key-value array-push


【解决方案1】:

你不能这样做吗:

for($i=1; $i < 20; $i++) {
    $array['key'.$i] = (object) array();
}

对象是否需要任何类型的属性?

编辑:

试试这个修改:

While (...){
 ...
 $object = new obj();
 $array['key1'] = $object;
 ...
}

另一种可能??

While (...){
 ...
 $object = new obj();
 $array['key1'][] = $object;
 ...
}

【讨论】:

  • 所以,为了清楚起见,我试图简化一些事情,但我一定是过于简单化了。数组已经声明了,我只需要将一个对象推入其中。
  • 看看我在编辑中的内容是否更符合您的意思
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多