Создание массива объектов в PHP - PullRequest
4 голосов
/ 10 декабря 2011

Я хотел бы знать, как правильно создавать массивы объектов в php.Моя цель здесь - получить такие данные:

$obj = new MyClass();
echo $obj[0]->parameter; //value1
echo $obj[1]->parameter; //value2

Спасибо за ваше время.

РЕДАКТИРОВАТЬ: И если я хочу сделать это в классе, это должно выглядеть так?

class MyClass{
    public $property;

    public function __construct() {
        $this->property[] = new ProjectsList();
    }
}

Ответы [ 3 ]

14 голосов
/ 10 декабря 2011

Допустимо любое из следующего:

$myArray = array();
$myArray[] = new Object();
$myArray[1] = new Object();
array_push($myArray, new Object);
2 голосов
/ 10 декабря 2011

Попробуйте,

$obj = array(new stdClass(), new stdClass())

или

$obj = array()
$obj[] = new stdClass()
$obj[] = new stdClass()

РЕДАКТИРОВАТЬ: Class до stdClass

0 голосов
/ 10 декабря 2011

Честно говоря, я думаю, что вы на правильном пути.Исходя из того, что это звучит, вы не просто пытаетесь добавить массивы, но конвертировать массивы в объекты.

<?php
 $obj = (object) 'ciao';
 echo $obj->scalar;  // outputs 'ciao'
 ?>

Объекты PHP

РЕДАКТИРОВАТЬ: Я не думаю, что вы могли бы добавить объект, подобный этому:

  $this->property[] = new ProjectsList();

the "newProjectsList () "будет таким, каким вы бы создали объект из класса.ProjectsList должен быть классом.это выглядело бы примерно так:

   $obj = new ProjectsList;
   $this->property[] = $obj;

хотя бы сначала нужно убедиться, что ProjectsList существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...