我在获取多维数组中的值时遇到问题
Array
(
[0] => Array
(
[name] => Brandow & Johnston, Inc.
[lat] => 34.051405
[lng] => -118.255576
)
[1] => Array
(
[name] => Industry Metrolink Train Station
[lat] => 34.00848564346
[lng] => -117.84509444967
)
[2] => Array
(
[name] => The Back Abbey
[lat] => 34.095161
[lng] => -117.720638
)
[3] => Array
(
[name] => Eureka! Burger Claremont
[lat] => 34.094572563643
[lng] => -117.72184828904
)
)
假设我有一个上面这样的数组
我正在使用如下的 foreach 循环
foreach($_SESSION['array'] as $value){
foreach($valueas $key_location=> $value_location){
if($key_location = "name"){$fsq_name = $value_location;}
$fsq_lat = $value_location["lat"];
$fsq_lng = $value_location["lng"];
echo "<i>".$fsq_lat."</i><br/>";
}
}
我尝试使用 if 语句,或使用 $value_location["lat"];
但它没有生成正确的值。
如果我使用三个等号
来执行if($key_location === "lng"){$fsq_lng = $value_location;}
,则会出现错误进行几次迭代,然后生成 lng
结果。如果我只是做一个等号
并回显它,它也会给我name
键。
我错过了什么吗?
谢谢
最佳答案
您实际上并不需要内部 foreach
循环。外部的就足够了,因为它迭代数组。内部数组可以通过外部 foreach
内的键访问。
foreach($_SESSION['array'] as $value){
$fsq_name = $value["name"];
$fsq_lat = $value["lat"];
$fsq_lng = $value["lng"];
echo "<i>".$fsq_lat."</i><br/>";
// Actually none of the above assignments are necessary
// you can just:
echo "<i>".$value["lat"]."</i><br/>";
}
关于php foreach 循环多维数组有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815589/