doupo2633 2016-10-23 22:23
浏览 59
已采纳

PHP:只处理阵列上的父项

I need to do "foreach" action only for the highest parent nodes in my PHP array.

In this example I would like to get echo of the family lastnames...

$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"
}

Is is handable, or should I define the array differently? Thank you very much for any positive answer.

  • 写回答

1条回答 默认 最新

  • dsxd62219570 2016-10-23 22:25
    关注

    You can simply return the key of the array (which is the family name):

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

    You can use the foreach just like ($array as $value) or like ($array as $key => $value). When the array is indexed (numerical key) the $key returns the position of the index (0, 1, 2...). When the array is associative (named keys), the $key returns the name of the index (in your example, Brooks, Hilberts, ...)

    For more information please see PHP Arrays and Foreach Manual

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?