PHP从具有不同数组计数的对象数组中获取特定属性

PHP从具有不同数组计数的对象数组中获取特定属性,php,arrays,Php,Arrays,我现在的处境很混乱 因此,我有一个对象数组 array:3 [▼ 0 => array:5 [▶] 1 => array:2 [▶] 2 => array:10 [▶] ] 每个数组项包含另一个将包含对象的数组 array:3 [▼ 0 => array:5 [▼ 0 => {#215 ▼ +"DefaultTimeLength": 40 +"ProgramID": 4 +"NumDeducted": 1

我现在的处境很混乱

因此,我有一个对象数组

array:3 [▼
  0 => array:5 [▶]
  1 => array:2 [▶]
  2 => array:10 [▶]
]
每个数组项包含另一个将包含对象的数组

array:3 [▼
  0 => array:5 [▼
    0 => {#215 ▼
      +"DefaultTimeLength": 40
      +"ProgramID": 4
      +"NumDeducted": 1
      +"ID": 245
      +"Name": "30-Swedish-Massage"
    }
    1 => {#216 ▼
      +"DefaultTimeLength": 70
      +"ProgramID": 4
      +"NumDeducted": 1
      +"ID": 246
      +"Name": "60-Swedish-Massage"
    }
    2 => {#217 ▶}
    3 => {#218 ▶}
    4 => {#219 ▶}
  ]
  1 => array:2 [▶]
  2 => array:10 [▶]
]
我想要实现的是,我想要从这个数组中获取每个对象数组的“ID”和“Name”作为数组。因为主数组中的每个数组都有不同的计数,所以我不能使用FOR循环来获取所需的数据。
有什么想法吗

使用嵌套的foreach循环,例如:

foreach($main as $m){
   foreach($m as $item){
     echo $item->ID ." ".$item->Name;
   }
}

使用嵌套的foreach循环,例如:

foreach($main as $m){
   foreach($m as $item){
     echo $item->ID ." ".$item->Name;
   }
}

每个循环内部使用2个foreach循环

    foreach ($array as $item) {
         foreach ($item as $sub) {
            echo $sub['ID'] . " " . $sub['Name'] . "<br>";
         }
     }
foreach($array as$item){
foreach(项目作为$sub){
echo$sub['ID']。“.$sub['Name']。”
”; } }

您的完整代码将类似于在每个循环内部使用2

    foreach ($array as $item) {
         foreach ($item as $sub) {
            echo $sub['ID'] . " " . $sub['Name'] . "<br>";
         }
     }
foreach($array as$item){
foreach(项目作为$sub){
echo$sub['ID']。“.$sub['Name']。”
”; } }

您的完整代码类似于

“我想从该数组中获取每个对象数组的'ID'和'Name'”——如何获取它们?预期的输出是什么?将它们作为数组获取。数组$id将具有所有id,$name数组将具有所有名称由于每个数组中的每组对象似乎都具有不同的id/名称,我不完全确定您希望得到的输出是什么?您是只显示所有对象,还是需要隔离整个数组的“1”id/名称,因为您的问题是“我想获取每个对象数组的“id”和“名称”@Randall我想获取作为数组的值$ids数组将具有所有ID,$name数组将具有所有名称OK,因此不尝试为组获取单个ID/名称。。。那么下面关于nested foreach的模糊答案将对您有效。但对于它将如何为您工作,这一点尚不明确;)“我想从这个数组中获取每个对象数组的‘ID’和‘Name’——如何获取它们?预期的输出是什么?将它们作为数组获取。数组$id将具有所有id,$name数组将具有所有名称由于每个数组中的每组对象似乎都具有不同的id/名称,我不完全确定您希望得到的输出是什么?您是只显示所有对象,还是需要隔离整个数组的“1”id/名称,因为您的问题是“我想获取每个对象数组的“id”和“名称”@Randall我想获取作为数组的值$ids数组将具有所有ID,$name数组将具有所有名称OK,因此不尝试为组获取单个ID/名称。。。那么下面关于nested foreach的模糊答案将对您有效。但对于它将如何为您工作,这一点尚不明确;)与其回音,不如建议:
$ids[]=$item->ID$名称[]=$item->Name?(当然是正确的初始化,哈哈)。@Randall是正确的伙伴,但我只是告诉他如何循环解决问题的例子。我爱你们。我完全忘记了angel-Foreatch而不是echo,建议:
$ids[]=$item->ID$名称[]=$item->Name?(当然是正确的初始化,哈哈)。@Randall是正确的伙伴,但我只是告诉他如何循环解决问题的例子。我爱你们。我完全忘记了天使之路