【发布时间】:2012-04-06 14:51:52
【问题描述】:
我在获取多维数组中的值时遇到问题
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"];,但它没有产生正确的值。
如果我使用three equal 符号执行if($key_location === "lng"){$fsq_lng = $value_location;},它会给我一些迭代的错误,然后产生lng 结果。如果我只是做one equal 签名并回显它,它也会给我name 键。
我错过了什么吗?
谢谢
【问题讨论】:
-
首先,
foreach($valueas似乎缺少一个空格。其次,您是否知道if($key_location = name)将变量$key_location设置为"name",然后评估为true?使用==来检查相等或===来检查身份(类似于相等但更强)。
标签: php arrays multidimensional-array foreach