Из того, что я понимаю, PHP stdClass
объекты, как правило, быстрее, чем массивы, когда код достаточно глубоко вложен, чтобы он действительно имел значение. Как это эффективность влияет, если я типажи определить stdClass
объектов на лета:Эффективность массивов PHP как объектов?
$var = (object)array('one' => 1, 'two' => 2);
Если код делает это будет выполняться много много раз, я буду лучше явное определение $var
в качестве объектов вместо:
$var = new stdClass();
$var->one = 1;
$var->two = 2;
ли разница незначительна, так как я буду тогда получать доступ к $var
как объект оттуда, так или иначе?
Edit:
StdClass является тип данных мне нужно здесь. Меня не интересует, следует ли использовать массивы или использовать объекты stdClass; Я больше беспокоюсь о том, эффективна ли с помощью (object)array(....)
стенограмма создания экземпляра stdClass
. И да, это код, который будет выполняться потенциально тысячи раз.
stdClass не является заменой массиву. Вместо этого попробуйте ArrayObject. Кроме того, «намного быстрее» является относительным и в большинстве случаев фактически не имеет значения. – Mchl