Reputation: 86
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.
Upvotes: 3
Views: 106
Reputation: 551
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
Upvotes: 3