Я пытаюсь построить массив из объекта в PHP. Я хочу только определенные свойства от объекта, но я не знаю, что они будут каждый раз. Имена необходимых мне свойств хранятся в массиве. Вот как мой код работает в настоящее время:Создание массива из неизвестных свойств объекта
// Hard-coded attributes 'colour' and 'size'
while ($objVariants->next())
{
$arrVariants[] = array
(
'pid' => $objVariants->pid,
'size' => $objVariants->size,
'colour' => $objVariants->colour,
'price' => $objVariants->price
);
}
Вместо жесткого кодирования атрибуты (цвет и размер), которые я хочу использовать переменные, это потому, что не всегда может быть цвет и размер в зависимости от того, что пользователь установил в CMS. Например:
$arrVariantAttr = $this->getVariantAttr(); // Get the names of the custom variants and put them in an array e.g colour, size
while ($objVariants->next())
{
$arrVariants[] = array
(
'pid' => $objVariants->pid,
foreach($arrVariantAttr as $attr)
{
$attr['name'] => $objVariants-> . $attr['name']; // Get each variant out of the object and put into an array
}
'price' => $objVariants->price
);
}
Этот код не работает, но, надеюсь, он иллюстрирует то, что я пытаюсь сделать. Любая помощь будет оценена, спасибо!
' Ошибка анализа: синтаксическая ошибка, неожиданная '[' ' – DaveRandom
Спасибо, у этого есть h убедил меня решить мою проблему. – jd182