打印阵列键=>值

时间:2016-01-23 17:45:38

标签: php

我有一个数组键=>价值和我打印的内容:

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>";
}

结果是:

  

名称:
  类型:
  地址:

代码中的错误是什么?

1 个答案:

答案 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"]);
相关问题