JoKr JoKr - 1 month ago 4
PHP Question

PHP: Handle only parents on array

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.

Answer

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

Comments