PHP:仅处理数组中的父项

PHP: Handle only parents on array

我只需要对 PHP 数组中的最高父节点执行 "foreach" 操作。

在这个例子中,我想得到家庭姓氏的回声...

$families = array(
'Brooks' => array(
    'John',
    'Ilsa',
),
'Hilberts' => array(
    'Peter',
    'Heidy',
));

foreach($families as $family){
  // do some action that will return only "Brooks,Hilbers"
  // not "Brooks,John,Ilsa,Hilbers,Peter,Heidy,Brooks,John,Ilsa,Hilberts,Peter,Heidy"
}

是可以处理的,还是我应该以不同的方式定义数组?非常感谢您的积极回答。

您可以简单地 return 数组的键(即姓氏):

foreach($families as $key => $family){
  echo "FAMILY NAME = ".$key;
}

您可以像 ($array as $value)($array as $key => $value) 一样使用 foreach。当数组被索引(数字键)时,$key returns 索引的位置 (0, 1, 2...)。当数组是关联的(命名键)时,$key return 是索引的名称(在您的示例中,Brooks、Hilberts,...)

更多信息请参阅PHP Arrays and Foreach Manual