我有一个数组键=>价值和我打印的内容:
echo '<pre>';
print_r($result);
echo '</pre>';
,内容为:
Array
(
[restaurants] => Array
(
[0] => Array
(
[name] => The Star
[type] => Array
(
[0] => restaurant
[1] => food
[2] => casino
[3] => spa
[4] => lodging
[5] => point_of_interest
[6] => establishment
)
[vicinity] => 80 Pyrmont Street, Pyrmont
)
[1] => Array
(
[name] => South Steyne
[type] => Array
(
[0] => restaurant
[1] => food
[2] => point_of_interest
[3] => establishment
)
[vicinity] => Harbourside Jetty, Darling Drive, Darling Harbour
)
[2] => Array
(
[name] => ibis Sydney Darling Harbour
[type] => Array
(
[0] => restaurant
[1] => food
[2] => lodging
[3] => point_of_interest
[4] => establishment
)
[vicinity] => 70 Murray Street, Pyrmont
)
[3] ...
我需要使用以下表单打印内容的信息:
姓名:明星 类型:食品,赌场,水疗中心,住宿,point_of_interest,建立
地址:皮尔蒙特皮尔蒙特街80号
但是,当我使用以下代码访问数组时:
foreach ($result as $value){
echo "Nome: ".$value["name"];
echo "<br>";
echo "Tipo: ";
foreach($value->type as $valuearr){
echo $valuearr["type"].", ";
}
echo "<br>";
echo "Morada: ".$value["vicinity"];
echo "<br><br>";
}
结果是:
名称:
类型:
地址:
代码中的错误是什么?
答案 0 :(得分:1)
您需要先进入“餐馆”键,其余部分是:
foreach ($result["restaurants"] as $value){
// etc.
你在->type
也有错误,因为 $ result 里面没有对象,只有关联数组。所以改为:
foreach ($result["restaurants"] as $value){
echo "Nome: ".$value["name"];
echo "<br>";
echo "Tipo: ";
foreach($value["type"] as $valuearr){
echo $valuearr.", ";
}
echo "<br>";
echo "Morada: ".$value["vicinity"];
echo "<br><br>";
}
最后,您还可以使用 implode 优化内部循环:
echo "Tipo: ";
echo implode(", ", $value["type"]);