从Array中检索多个数据


Retrieve multiple data from Array

我在几个月前问过这个问题,但当时我只需要拉一个成员级别,现在我需要拉每个级别名称,这里是数组:

Array
(
  [success] => 1
  [member] => Array
  (
    [0] => Array
    (
      [Levels] => Array
      (
        [1391447566] => stdClass Object
        (
          [Level_ID] => 1391447566
          [Name] => Team Membership
          [Cancelled] => 
          [CancelDate] => 
          [Pending] => 
          [UnConfirmed] => 
          [Expired] => 
          ExpiryDate] => 1397266537
          [SequentialCancelled] => 
          [Active] => 1
          [Status] => Array
          (
            [0] => Active
          )
          [Timestamp] => 1394588137
          [TxnID] => WL-1-1391447566
        )
        [1391540448] => stdClass Object
        (
          [Level_ID] => 1391540448
          [Name] => Gold Training Membership
          [Cancelled] => 
          [CancelDate] => 
          [Pending] => 
          [UnConfirmed] => 
          [Expired] => 
          [ExpiryDate] => 1396642789
          [SequentialCancelled] => 
          [Active] => 1
          [Status] => Array
          (
            [0] => Active
          )
          [Timestamp] => 1393967989
          [TxnID] => WL-1-1391540448
        )
        [1391540567] => stdClass Object
        (
          [Level_ID] => 1391540567
          [Name] => Platinum Training Membership
          [Cancelled] => 
          [CancelDate] => 
          [Pending] => 
          [UnConfirmed] => 
          [Expired] => 
          [ExpiryDate] => 1397302237
          [SequentialCancelled] => 
          [Active] => 1
          [Status] => Array
          (
            [0] => Active
          )
          [Timestamp] => 1394623837
          [TxnID] => WL-1-1391540567
        )
      )
      [PayPerPosts] => Array
      (
      )
    )
  )
  [supported_verbs] => Array
  (
    [0] => GET
    [1] => PUT
    [2] => DELETE
  )
)

我需要的是拉级别的名称,这是内部的对象,每次有不同的数字,并将其添加到一个数组,我需要保存在DB。一个解决方案,只是拉信息,是:

foreach ($response["member"][0]["Levels"] AS $level_key => $level_val) {
$level_name = $level_key->Name;
    echo 'Name: '.$level_name;
}

但是它没有拉任何东西,只是重复"name"3次。

这是我用来只提取一个名字的代码:

$levels = $response["member"][0]["Levels"];
$firstLevel = array_shift(array_values($levels));
$membership = $firstLevel->Name;

谢谢!

试试:

$level_name = $level_val->Name;

$level_key为级别ID为?的整数值。$level_val是你的关卡对象与数据