首页 > 解决方案 > 如何解析数据

问题描述

我在我的 laravel 应用程序中对请求的回应是:

Array
(
[0] => Array
    (
        [order_product_id] => 39           
        [ean] => 1255AA
        [quantity] => 1       
    )

[1] => Array
    (   
        [order_product_id] => 40  
        [ean] => 1326489131511
        [quantity] => 1

    )

   )

如何在我的应用程序中解析这些数据?我尝试过了:

 foreach ($request->all() as $data)
 {
 print_r($data['ean']);
 die(); 
 } 

我收到此错误:未定义的索引:ean

编辑:当我使用 var_export($request->all()) 我得到:

 array (
  'Array
(
____' => 
  array (
    0 => '> Array
        (
            [order_product_id] => 39
            [ean] => 1255AA
            [quantity] => 1
        )

    [1] => Array
        (
            [order_product_id] => 40
            [ean] => 1326489131511
            [quantity] => 1
        )    
)',
  ),
)

非常感谢。

标签: phplaravel

解决方案


似乎$request->all()返回数据是这样的:

$array = [
    'Array ( ____' => [
        [
            'order_product_id' => 39,
            'order_id' => 34,
            'product_id' => 48,
            'name' => 'iPod Classic',
            'model' => 'product 20',
            'ean' => '1255AA',
            'quantity' => '1',
            'price' => 10.0000,
            'total' => 10.0000,
            'tax' => 0.0000,
            'reward' => 0    
        ],
   ]    
];

所以,代替:

foreach ($request->all() as $data)

利用:

foreach (array_shift($request->all()) as $data)

推荐阅读