>

객체 내부의 배열에서 특정 데이터 만 가져오고 싶습니다.

이 코드를 실행할 때 :

$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

    array_walk ()를 사용하여 예상 항목 만 가져올 수 있습니다. 예를 들면 :

    array_walk($vars['clients'], function (&$item) {
        $item = ["{$item->id}, {$item->guests[0]->firstName}, {$item->invoiceData->taxNumber}"];
    });
    
    

관련 자료

  • 이전 python - 팬더는 char로 구분 된 값으로 데이터 프레임을 함축합니다
  • 다음 c# - aspnet 핵심 defaultProxy