PHP значение ключа цикла foreach
я запускаю этот вызов БД, чтобы получить мне многомерный массив Я пытаюсь получить ключи от каждого, но когда я пытаюсь, он появляется пустым или как массив.
$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] => Array
(
[0] => Array
(
[place_name] => XYX
[place_id] => 103200
[place_status] => 0
)
[1] => Array
(
[place_name] => YYYY
[place_id] => 232323
[place_status] => 0
)
4 ответа:
Как сказал Пекка выше
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 />"; } } }