Значение ключа ключа foreach PHP

Я запускаю этот вызов БД, чтобы получить многомерный массив. Я пытаюсь получить ключи каждого, но когда я пытаюсь, он становится пустым или массивом.

$root_array = array(); $sites = $this->sites($member_id); foreach ($sites as $site){ $records = $this->db->select('p.name as place_name, p.id as place_id,p.active as place_status') ->from('places p') ->join('members_permissions pm','pm.sites_id = p.sites_id and pm.members_id ='.$member_id) ->where('p.active', 0) ->get(); $places = $records->result_array(); $places['name'] = $site['name']; foreach($places as $place){ $root_array[$site['name']][] = $place; } } return $root_array; 

вот мой php, который проходит через:

 <?php foreach($places as $site): ?> <h5><?=key($site)?></h5> <?php foreach($site as $place): ?> <h6><?=$place['place_name']?></h6> <?php endforeach?> <?php endforeach ?> 

Кроме того, когда я запускаю тест, который просто выплескивает массив, это результат. То, что я пытаюсь сделать, – [Philadelphia]

 [Philadelphia] => Array ( [0] => Array ( [place_name] => XYX [place_id] => 103200 [place_status] => 0 ) [1] => Array ( [place_name] => YYYY [place_id] => 232323 [place_status] => 0 ) 

Solutions Collecting From Web of "Значение ключа ключа foreach PHP"

Вы можете получить доступ к этим массивам так:

 foreach ($array as $key => $value) 

Как сказал Пекка выше

 foreach ($array as $key => $value) 

Также вы можете попробовать рекурсивную функцию

 displayRecursiveResults($site); function displayRecursiveResults($arrayObject) { foreach($arrayObject as $key=>$data) { if(is_array($data)) { displayRecursiveResults($data); } elseif(is_object($data)) { displayRecursiveResults($data); } else { echo "Key: ".$key." Data: ".$data."<br />"; } } } 
 foreach($shipmentarr as $index=>$val){ $additionalService = array(); foreach($additionalService[$index] as $key => $value) { array_push($additionalService,$value); } } 

Вы также можете использовать array_keys() . Новичок приветствуется:

 $keys = array_keys($arrayToWalk); $arraySize = count($arrayToWalk); for($i=0;$i<$arraySize;$i++){ echo "<option value=\"".$keys[$i]."\">".$arrayToWalk[$keys[$i]]."</option>"; }