2016-11-09 60 views
1

有在我的模型下面的数组:解析多维数组查看笨

$data = [ 
      'route' => [ 
        [ 
         'id' => 1, 
         'departure_station' => 'Cluj-Napoca, Autogara', 
         'destination_station' => 'Bucuresti Nord', 
         'departure_date' => 'Joi, 18 Mar 2017. 20:45', 
         'arrival_date' => 'Vi, 19 Mar 2017. 02:15', 
         'price' => 150 
        ], 
        [ 
         'id' => 2, 
         'departure_station' => 'Budapest', 
         'destination_station' => 'London', 
         'departure_date' => 'Vin, 28 Mar 2017. 20:45', 
         'arrival_date' => 'Lu, 29 Mar 2017. 02:15', 
         'price' => 250 
        ], 
        [ 
         'id' => 3, 
         'departure_station' => 'Paris', 
         'destination_station' => 'Berlin', 
         'departure_date' => 'Joi, 18 Mar 2017. 20:45', 
         'arrival_date' => 'Vi, 19 Mar 2017. 02:15', 
         'price' => 450 
        ], 
      ] 
     ]; 

我明白了我的控制器上,它正确地显示,当我做var_dump($data) 我试着在我看来发送此多维数组如下:

foreach($data as $key => $route) 
     { 

      foreach ($route as $element) 
      { 

       $id = $element['id']; 
       $departure_station = $element['departure_station']; 
       $destination_station = $element['destination_station']; 
       $departure_date = $element['departure_date']; 
       $arrival_date = $element['arrival_date']; 
       $price = $element['price']; 
       $i = count($route); 

       for($j=0; $j<=$i; $j++) 
       { 
        $html = $this->load->view("front/curse_interne.php", array(
         'id' => $id, 
         'departure_station' => $departure_station, 
         'destination_station' => $destination_station, 
         'departure_date' => $departure_date, 
         'arrival_date' => $arrival_date, 
         'price' => $price), true); 
        echo json_encode(array("status" => 1, "html" => $html)); 
       } 

      } 
     } 

而且我在用这种方式查看收到此阵:

<?php 
$data = array('route'=>(array(array('id'=>$id, 'departure_station'=>$departure_station , 'destination_station'=>$destination_station, 'departure_date'=>$departure_date, 'arrival_date'=>$arrival_date, 'price'=>$price)))); 

var_dump($data); 
exit(); 

?> 

所有我从这次的var_dump鉴于获得只是第一阵列:

array(1) { 
    ["route"]=> 
    array(1) { 
    [0]=> 
    array(6) { 
     ["id"]=> 
     int(1) 
     ["departure_station"]=> 
     string(21) "Cluj-Napoca, Autogara" 
     ["destination_station"]=> 
     string(14) "Bucuresti Nord" 
     ["departure_date"]=> 
     string(23) "Joi, 18 Mar 2017. 20:45" 
     ["arrival_date"]=> 
     string(22) "Vi, 19 Mar 2017. 02:15" 
     ["price"]=> 
     int(150) 
    } 
    } 
} 

我怎样才能在我看来,整个阵列? 谢谢!

回答

1

首先改变你的函数:

<?php 
    $data = [ 
    'route' => [ 
     [ 
     'id' => 1, 
     'departure_station' => 'Cluj-Napoca, Autogara', 
     'destination_station' => 'Bucuresti Nord', 
     'departure_date' => 'Joi, 18 Mar 2017. 20:45', 
     'arrival_date' => 'Vi, 19 Mar 2017. 02:15', 
     'price' => 150 
     ], 
     [ 
     'id' => 2, 
     'departure_station' => 'Budapest', 
     'destination_station' => 'London', 
     'departure_date' => 'Vin, 28 Mar 2017. 20:45', 
     'arrival_date' => 'Lu, 29 Mar 2017. 02:15', 
     'price' => 250 
     ], 
     [ 
     'id' => 3, 
     'departure_station' => 'Paris', 
     'destination_station' => 'Berlin', 
     'departure_date' => 'Joi, 18 Mar 2017. 20:45', 
     'arrival_date' => 'Vi, 19 Mar 2017. 02:15', 
     'price' => 450 
     ], 
    ] 
    ]; 

    foreach($data as $key => $route) { 
    foreach ($route as $element) {   
     $html = $this->load->view("front/curse_interne.php", $element, true); 
     echo json_encode(array("status" => 1, "html" => $html)); 
    } 
    } 
?> 

每个HTML(前/ curse_interne.php)会得到它的JSON对象,你的情况3个对象:

{ 
    "id": 1, 
    "departure_station": "Cluj-Napoca, Autogara", 
    "destination_station": "Bucuresti Nord", 
    "departure_date": "Joi, 18 Mar 2017. 20:45", 
    "arrival_date": "Vi, 19 Mar 2017. 02:15", 
    "price": 150 
} 

{ 
    "id": 2, 
    "departure_station": "Budapest", 
    "destination_station": "London", 
    "departure_date": "Vin, 28 Mar 2017. 20:45", 
    "arrival_date": "Lu, 29 Mar 2017. 02:15", 
    "price": 250 
} 

and

{ 
    "id": 3, 
    "departure_station": "Paris", 
    "destination_station": "Berlin", 
    "departure_date": "Joi, 18 Mar 2017. 20:45", 
    "arrival_date": "Vi, 19 Mar 2017. 02:15", 
    "price": 450 
} 

然后在每一页上,你应该得到的PHP只有一个不同的阵列

为了得到一整个阵列您的迭代逻辑更改为:

foreach($data as $route) {  
    $html = $this->load->view("front/curse_interne.php", array(
     'route' => $route 
    ), true); 
    echo json_encode(array("status" => 1, "html" => $html)); 
    } 

,并在您的看法:

<?php 
    $data = array('route' => $route); 
    print('<pre>' . print_r($data, 1) . '</pre>'); 
    exit(); 
?> 

这应该会带回原始数组:

Array 
    (
    [route] => Array 
     (
     [0] => Array 
      (
       [id] => 1 
       [departure_station] => Cluj-Napoca, Autogara 
       [destination_station] => Bucuresti Nord 
       [departure_date] => Joi, 18 Mar 2017. 20:45 
       [arrival_date] => Vi, 19 Mar 2017. 02:15 
       [price] => 150 
      ) 

     [1] => Array 
      (
       [id] => 2 
       [departure_station] => Budapest 
       [destination_station] => London 
       [departure_date] => Vin, 28 Mar 2017. 20:45 
       [arrival_date] => Lu, 29 Mar 2017. 02:15 
       [price] => 250 
      ) 

     [2] => Array 
      (
       [id] => 3 
       [departure_station] => Paris 
       [destination_station] => Berlin 
       [departure_date] => Joi, 18 Mar 2017. 20:45 
       [arrival_date] => Vi, 19 Mar 2017. 02:15 
       [price] => 450 
      ) 

    ) 

) 
+0

我给你一杯啤酒! :D谢谢你! –