Получить конкретные данные из массива объектов в PHP - PullRequest
0 голосов
/ 03 июля 2019

Я хочу получить только определенные данные из массива внутри объекта.

Когда я запускаю этот код:

$response = $client->__call('get', $request);
$vars = get_object_vars($response); 
print_r($vars);

Это дает мне целый массив.

Array
(
  [clients] => Array
    (
      [0] => stdClass Object
        (
          [id] => 2
          [guests] => Array
            (
              [0] => stdClass Object
                (
                  [id] => 2
                  [firstName] => Greg
                  [lastName] => Gregson
                )
            )
          [invoiceData] => stdClass Object
            (
              [taxNumber] => 12345678
            )
        )
      [1] => stdClass Object
        (
          [id] => 3
          [guests] => Array
            (
              [0] => stdClass Object
                (
                  [id] => 3
                  [firstName] => Paul
                  [lastName] => Paulson
                )
            )
          [invoiceData] => stdClass Object
            (
              [taxNumber] => 34567891
            )
        )
      [2] => stdClass Object
        (
          [id] => 4
          [guests] => Array
            (
              [0] => stdClass Object
                (
                  [id] => 4
                  [firstName] => John
                  [lastName] => Johnson
                )
            )
          [invoiceData] => stdClass Object
            (
              [taxNumber] => 23456789
            )
        )
    )
)

Я хотел бы видеть только [id][firstName][taxNumber] как один массив, как показано ниже:

2, Greg, 12345678
3, Paul, 34567891
4, John, 23456789

Возможно ли это? Как я могу это сделать?

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете использовать array_walk () , чтобы получить только ожидаемые элементы.Пример:

array_walk($vars['clients'], function (&$item) {
    $item = ["{$item->id}, {$item->guests[0]->firstName}, {$item->invoiceData->taxNumber}"];
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...