php, как преобразовать массив, содержащий объект stdClass, в список через запятую - PullRequest
0 голосов
/ 05 февраля 2020

при выводе print_r $ я получаю следующее

Array ( [0] => stdClass Object ( [id] => foo ) [1] => stdClass Object ( [id] => bar ) [2] => stdClass Object ( [id] => foobar ))

Я пытаюсь сделать что-то, что я, хотя и был бы прост, и преобразовать вывод $ в

foo, bar, foobar 

Я пытался используя для каждого утверждения, такие как ниже

foreach($array as $row){
   $new_array[$row['nid']] = $row['nid'];
}
print_r($new_array);

, но я просто недействительным php.

Я пробовал использовать здесь arraywalk и другие примеры, но ничего не получилось.

Так как же преобразовать следующий массив в простой список идентификаторов? Спасибо за любую помощь

1 Ответ

1 голос
/ 05 февраля 2020

За исключением списка через запятую, то, что у вас есть, должно работать теоретически, но код совсем не соответствует вашему массиву. Вы указываете $object не $array, а свойство id не nid.

Однако просто извлеките столбец id и взорвитесь. Если у вас есть PHP 7:

$list = implode(', ', array_column($output, 'id'));

Для более старых версий:

$list = implode(', ', array_map(function($v) { return $v->id; }, $output));
...