【问题标题】:Encode php multidimensional arrays to json将php多维数组编码为json
【发布时间】:2016-05-11 06:58:48
【问题描述】:

我在尝试将多维数组编码为 json 时遇到问题。 如何删除键“0”和“1”?'

这是我的代码

$ch_name = count($app->request->post('ch_name'));
        for ($i=0; $i < $ch_name; $i++) {
            $min = count($app->request->post('minim_channel_'.$i));
            for ($j=$min - 1; $j >= 0; $j--) { 
                $gros[$j] = array('min' =>$app->request->post('minim_channel_'.$i)[$j], 'price' => $app->request->post('harga_channel_'.$i)[$j]);
            }
            $prices[$i] = array('channel' => $app->request->post('ch_name')[$i], 'price' => $app->request->post('harsat_channel_'.$i), 'grosir' => array($gros));
        }

        echo json_encode($prices);

这就是结果

[{"channel":"Tokopedia","price":"10000","grosir":[{"1":{"min":"3","price":"9500"},"0":{"min":"10","price":"9000"}}]},{"channel":"Lapak","price":"10500","grosir":[{"1":{"min":"3","price":"9700"},"0":{"min":"10","price":"9200"}}]}]

【问题讨论】:

  • 您的意思是删除该位中的键(1 和 0)吗? "grosir":[{"1":{"min":"3","price":"9700"},"0":{"min":"10","price":"9200"}}
  • 尝试将$gros[$j] 更改为$gros[]$prices[$i] 更改为$prices[]

标签: php arrays json encode


【解决方案1】:

您可以尝试更改代码的以下部分

for ($j=$min - 1; $j >= 0; $j--) { 
    $gros[$j] = array('min' =>$app->request->post('minim_channel_'.$i)[$j], 'price' => $app->request->post('harga_channel_'.$i)[$j]);
}

$gros = array();
for ($j=$min - 1; $j >= 0; $j--) { 
    $gros[] = array('min' =>$app->request->post('minim_channel_'.$i)[$j], 'price' => $app->request->post('harga_channel_'.$i)[$j]);
}

看看这是否符合您的要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多