Значение ключа цикла 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] => Array
(
[0] => Array
(
[place_name] => XYX
[place_id] => 103200
[place_status] => 0
)
[1] => Array
(
[place_name] => YYYY
[place_id] => 232323
[place_status] => 0
)
92
4 answers
Вы можете получить доступ к своим ключам массива следующим образом:
foreach ($array as $key => $value)
267
Author: Pekka 웃, 2009-12-02 18:03:24
Как сказал Пекка выше
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 />";
}
}
}
23
Author: Phill Pafford, 2009-12-02 18:33:35
foreach($shipmentarr as $index=>$val){
$additionalService = array();
foreach($additionalService[$index] as $key => $value) {
array_push($additionalService,$value);
}
}
5
Author: kumar, 2011-06-03 14:42:10
Вы также можете использовать array_keys()
. Дружелюбный новичок:
$keys = array_keys($arrayToWalk);
$arraySize = count($arrayToWalk);
for($i=0;$i<$arraySize;$i++){
echo "<option value=\"".$keys[$i]."\">".$arrayToWalk[$keys[$i]]."</option>";
}
5
Author: Melih Yıldız', 2016-11-21 18:25:43