2011-05-04 53 views
3

我是新来的PHP,我试图从一个字符串过滤掉一些的话,使用数组,这里的数组:帮助大阵

$array_lugares = array 
(
array("barra"=>array 
(
/*SENTIDO BARRA*/ 
"Sao conrado"=>array("-22.999743","-43.270694"), 
"Elevado do Joa"=>array("-22.999429","-43.27317") 
), 
"zona sul"=>array 
(
/*SENTIDO ZONA SUL:*/ 
"passarela da barra"=>array("-23.008346","-43.303708"), 
"barra grill"=>array("-23,010576", "-43,302028"), 
"lagoa barra"=>array("-22,997348", "-43,263200") 
), 
"recreio"=>array 
(
/*SENTIDO RECREIO:*/ 
"passarela da barra"=>array("-23.008283","-43.303634"), 
"rio mar"=>array("22.999958","-43.402648"), 
"ribalta"=>array("-22,999753", "-43,409211") 
))); 

当我这样做:

foreach($array_lugares[0]['zona sul'] as $lugar){ 
echo $lugar; 
echo "</br>"; 
} 

输出为:

Array 
Array 
Array 

我怎样才能使它因此它显示:

barra 
zona sul 
recreio 

在输出中,有可能吗?

回答

3
foreach($array_lugares[0] as $k => $lugar){ 
    echo $k; 
    echo "</br>"; 
} 
+0

这工作完全我想怎么样,谢谢 – 2011-05-04 03:42:05

1

那是因为你有一个多维数组,可以遍历$lugar;也和它会给你正确的输出

更新:

foreach($array_lugares[0]['zona sul'] as $lugar){ 
    foreach ($lugar as $value) { 
    // further inside the array 

    } 

echo "</br>"; 

} 

但我想你应该重新审视你有的代码,看看这是否真的是你想要使用你的数据的方式

0

这是因为$array_logares[0]['zona sul']是给你的对象

array 
(
/*SENTIDO ZONA SUL:*/ 
"passarela da barra"=>array("-23.008346","-43.303708"), 
"barra grill"=>array("-23,010576", "-43,302028"), 
"lagoa barra"=>array("-22,997348", "-43,263200") 
) 

和每个元素的阵列(点)。如果你想要的名称(而不是点的阵列),你可以这样做:

foreach(array_keys($array_logares[0]['zona sul']) as $lugar) 

,如果你想要的名称点,你可以这样做:

foreach($array_lugares[0] as $name => $lugar)