drbfxb977777 2016-12-17 11:18
浏览 36
已采纳

如何解析php中的json数组数据

I want to parse the JSON array $inputjson data with a loop, with one condition: show only those products which quantity != 0

i.e in this case, my output should be like

echo >14516 , 29 //productid, list value
echo  >14517 , 30 //productid, list value
echo >14519 , 32 //productid, list value

json:

$inputjson="{"14514":{"attributes_values":{"3":"7"},"attributes":[27],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201701017","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'27'"},"14515":{"attributes_values":{"3":"7,5"},"attributes":[28],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201702014","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'28'"},"14516":{"attributes_values":{"3":"8"},"attributes":[29],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":1,"reference":"2221201703011","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'29'"},"14517":{"attributes_values":{"3":"8,5"},"attributes":[30],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":2,"reference":"2221201704018","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'30'"},"14518":{"attributes_values":{"3":"9"},"attributes":[31],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201705015","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'31'"},"14519":{"attributes_values":{"3":"9,5"},"attributes":[32],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":1,"reference":"2221201706012","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'32'"},"14520":{"attributes_values":{"3":"10"},"attributes":[33],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201707019","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'33'"},"14521":{"attributes_values":{"3":"10,5"},"attributes":[34],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201708016","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'34'"},"14522":{"attributes_values":{"3":"11"},"attributes":[35],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201709013","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'35'"},"14523":{"attributes_values":{"3":"11,5"},"attributes":[36],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201710019","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'36'"},"14524":{"attributes_values":{"3":"12"},"attributes":[37],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201711016","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'37'"},"14525":{"attributes_values":{"3":"13"},"attributes":[39],"price":0,"specific_price":false,"ecotax":0,"weight":0,"quantity":0,"reference":"2221201712013","unit_impact":"0.00","minimal_quantity":"1","available_date":"","id_image":-1,"list":"'39'"}}";

$inputjson=json_decode($inputjson,true);

$inputjson print_r output:--
 Array
    (
        [14514] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 7
                    )

                [attributes] => Array
                    (
                        [0] => 27
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201701017
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '27'
            )

        [14515] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 7,5
                    )

                [attributes] => Array
                    (
                        [0] => 28
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201702014
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '28'
            )

        [14516] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 8
                    )

                [attributes] => Array
                    (
                        [0] => 29
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 1
                [reference] => 2221201703011
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '29'
            )

        [14517] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 8,5
                    )

                [attributes] => Array
                    (
                        [0] => 30
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 2
                [reference] => 2221201704018
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '30'
            )

        [14518] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 9
                    )

                [attributes] => Array
                    (
                        [0] => 31
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201705015
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '31'
            )

        [14519] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 9,5
                    )

                [attributes] => Array
                    (
                        [0] => 32
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 1
                [reference] => 2221201706012
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '32'
            )

        [14520] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 10
                    )

                [attributes] => Array
                    (
                        [0] => 33
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201707019
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '33'
            )

        [14521] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 10,5
                    )

                [attributes] => Array
                    (
                        [0] => 34
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201708016
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '34'
            )

        [14522] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 11
                    )

                [attributes] => Array
                    (
                        [0] => 35
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201709013
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '35'
            )

        [14523] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 11,5
                    )

                [attributes] => Array
                    (
                        [0] => 36
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201710019
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '36'
            )

        [14524] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 12
                    )

                [attributes] => Array
                    (
                        [0] => 37
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201711016
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '37'
            )

        [14525] => Array
            (
                [attributes_values] => Array
                    (
                        [3] => 13
                    )

                [attributes] => Array
                    (
                        [0] => 39
                    )

                [price] => 0
                [specific_price] => 
                [ecotax] => 0
                [weight] => 0
                [quantity] => 0
                [reference] => 2221201712013
                [unit_impact] => 0.00
                [minimal_quantity] => 1
                [available_date] => 
                [id_image] => -1
                [list] => '39'
            )

    )
  • 写回答

2条回答 默认 最新

  • duanjiaolia97750 2016-12-17 11:33
    关注

    Loop through json items and check for quantity. Only those different than 0 will be treated as true in if condition:

    foreach( $inputjson as $item=>$value ) {
      if ( $value['quantity'] ) {
        echo $item . ', ' . $value['list'];
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改