Массив Pu sh в массив объектов - PullRequest
0 голосов
/ 06 марта 2020

У меня есть массив в этом формате;

<code>// echo '<pre>' . var_export($this->viewableFields, true) . '
'; array (0 => (object) array ('formId' => '4', 'componentId' => '-7', 'viewable' => '1', 'searchable' => '0', 'editable' => '0'), 1 => (объект) массив ('formId' => '4', 'componentId' => '-4', 'viewable' => '1', 'searchable' => '1 ',' editable '=>' 0 '))

Я выбираю некоторые данные из базы данных mysql, и мне нужно добавить их в массив. Я хочу добавить group = Registered, поэтому вывод будет выглядеть так:

<code>// echo '<pre>' . var_export($this->viewableFields, true) . '
'; array (0 => (object) array ('formId' => '4', 'componentId' => '-7', 'viewable' => '1', 'searchable' => '0', 'editable' => '0', 'group' => 'Registered'), 1 => (объект) массив ('formId' => '4', 'componentId' => '-4', 'viewable' => '1 ',' searchable '=>' 1 ',' editable '=>' 0 ',' group '=>' Registered '))

Я пробовал следующее, но он просто создает другой элемент в конце массива (число [2]).

$group = (object) array(
    'group' => 'Registered'
);

array_push($this->viewableFields, $group);

Обратите внимание, я не могу изменить SQL.

1 Ответ

2 голосов
/ 06 марта 2020

Предполагая, что $this->viewableFields - ваш более широкий массив, вы можете использовать array_walk() для изменения массива на месте.

array_walk($this->viewableFields, function(&$arr) {
    $arr->group = 'Registered';
});
...