在php中使用数组创建对象

时间:2016-10-26 16:15:08

标签: php arrays

我有数据数组,我希望创建尽可能多的对象数组:

我正在尝试使用foreach循环,但无法破解它。

 foreach($file->data as $item){
         $entity = new MappedEntity($file,$counter++);
     }

它正在工作,但是例如数组长度= 5,它覆盖了5次值,结果我有一个具有第五个记录值的对象,我想创建5个具有相应属性的对象。

我是PHP的新手,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这是一种非常奇怪的行为方式,但在进一步了解之前,您可以像这样创建5个类的实例:

$i = 1;

foreach ($file->data as $item) {
  ${"entity_" . $i} = new MappedEntity($file, $counter++);
  $i++;
}

//now you have class instances in variables $entity_1, $entity_2 etc...

或者您可以将实例存储到这样的数组(首选方法):

$arr = [];

foreach ($file->data as $item) {
  $arr[] = new MappedEntity($file, $counter++);
}

// now you have array with 5 class instances and you can access them with $arr[0], $arr[1] etc...