#php
Вопрос:
Я изо всех сил пытаюсь найти способ преобразовать свой объект в правильный формат.
Я хочу заменить функцию, которую мы в настоящее время используем для создания подробного массива, как вы можете видеть ниже, все статично.
private function departmentArray($content=[])
{
return [ static::$A_DEPT_ID => $content
, static::$O_DEPT_ID => $content
];
}
Пример результата, когда это выполняется, таков
{"3":{"complete":0,"incomplete":0},"5":{"complete":0,"incomplete":0}}
Я преобразовал метод
private function departmentArray($content=[])
{
$depts = d::getAllMainDepartment();
$dept_array = [];
foreach ($depts as $dept) {
$dept_array[] = array($dept->id => $content);
}
return $dept_array;
}
Полученный формат выглядит следующим образом
[{"3":{"complete":0,"incomplete":0}},{"5":{"complete":0,"incomplete":0}}]
Как я могу поддерживать тот же формат в первой версии кода?
Ответ №1:
Вы не нажимаете на ассоциативный массив, вы используете новый ключ в качестве индекса.
$dept_array[$dept->id] = $content;