2016-05-11 3 views
1

У меня возникла проблема при попытке кодирования многомерного массива json. Как удалить клавиши «0» и «1»?Кодировать многомерные массивы php на json

Это мой код

$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":"Bukalapak","price":"10500","grosir":[{"1":{"min":"3","price":"9700"},"0":{"min":"10","price":"9200"}}]}] 
+0

Вы хотите удалить ключи (1 и 0) в этом бите? "Grosir": [{ "1": { "мин": "3", "цена": "9700"}, "0": { "мин": "10", "цена": "9200"}} – Brett

+0

попробуйте изменить '$ gros [$ j]' на '$ gros []' и '$ prices [$ i]' на '$ prices []' – Suyog

ответ

0

Вы можете попытаться изменить следующую часть вашего кода

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]); 
} 

и посмотрите, что делает то, что вы хотите.

+1

Большое спасибо. Это работа для меня –

Смежные вопросы