Простые объекты в PHP вопрос [новичок] - PullRequest
3 голосов
/ 02 декабря 2010

Я знаю, что вы можете создать массив следующим образом:

$a = array();

и добавить к нему новые пары имя-значение следующим образом:

$a['test'] = 'my new value';

Возможно даже пропустить первую строку, хотя это плохая практика!

Я считаю, что объекты легче читать и понимать, поэтому я взял массив пар имя-значение и преобразовал его в объект:

$a = (object)$a;

Таким образом, я могу получить доступ к параметрам:

$a->test;

Кажется, что расточительные затраты на создание массива для начала расточительны, возможно ли просто создать объект и затем каким-то образом просто добавить к нему пары имя-значение таким же образом, как я сделал бы массив? *

Спасибо

Ответы [ 4 ]

7 голосов
/ 02 декабря 2010

Да, класс stdClass предназначен именно для этого.

$a = new stdClass;
$a->test = 'my new value';

Вы можете думать об этом как о следующем коде JavaScript:

var a = {};
a.test = 'my new value';

На самом деле, если у вас был какой-то PHP-код, который получил данные в виде JSON, запуск json_decode() для данных приводит к получению stdClass объекта с включенными свойствами.

4 голосов
/ 02 декабря 2010

Для этого можно использовать объект stdClass:

$a = new stdClass();
1 голос
/ 02 декабря 2010

Это очень просто, даже без stdclass. Вы можете просто сделать

class obj{}
$obj = new obj;
$obj->foo = 'bar';
0 голосов
/ 02 декабря 2010

Для этого вы можете использовать stdClass .

$object = new StdClass;  
$object->foo = 'bar';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...