matthewb
¿Cómo accedo a la clave de primer nivel de una matriz bidimensional usando un bucle foreach?
tengo un $places
matriz como esta:
[Philadelphia] => Array
(
[0] => Array
(
[place_name] => XYX
[place_id] => 103200
[place_status] => 0
)
[1] => Array
(
[place_name] => YYYY
[place_id] => 232323
[place_status] => 0
)
Este es mi código de vista que recorre la matriz:
<?php foreach($places as $site): ?>
<h5><?=key($site)?></h5>
<?php foreach($site as $place): ?>
<h6><?=$place['place_name']?></h6>
<?php endforeach?>
<?php endforeach ?>
donde llamo key($site)
Quiero tener Philadelphia
pero estoy recibiendo place_name
de cada fila.
Puede acceder a sus claves de matriz de esta manera:
foreach ($array as $key => $value)
Como dijo Pekka anteriormente
foreach ($array as $key => $value)
También es posible que desee probar una función recursiva
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 />";
}
}
}
Melih Yıldız’
También puedes usar array_keys()
. Amigable para novatos:
$keys = array_keys($arrayToWalk);
$arraySize = count($arrayToWalk);
for($i=0; $i < $arraySize; $i++) {
echo '<option value="' . $keys[$i] . '">' . $arrayToWalk[$keys[$i]] . '</option>';
}
-
Código más simple y eficiente una vez que tenga
$keys
:foreach ($keys as $key) ... $key ... $arrayToWalk[$key] ...
Esto es útil cuando$keys
podrían ser solo algunas de las claves en la matriz; de lo contrarioforeach ($arrayToWalk as $key => $value) ...
es más fácil de usar y un poco más rápido.– El fabricante de herramientas Steve
3 de diciembre de 2020 a las 0:09
kumar
foreach($shipmentarr as $index=>$val){
$additionalService = array();
foreach($additionalService[$index] as $key => $value) {
array_push($additionalService,$value);
}
}