如何使用 foreach 循环访问2d 数组的第一级键?

如何使用 foreach 循环访问二维数组的第一级键?

我有一个像这样的 $places数组:

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


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

这是在数组上循环的视图代码:

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


<?php endforeach ?>

在我调用 key($site)的地方,我想得到 Philadelphia,但是我只是从每一行得到 place_name

673288 次浏览

您可以像下面这样访问数组键:

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

正如 Pekka 上面所说

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>';
}