2013-12-02 8 views
0

Хорошо, поэтому я пытаюсь сделать цикл в php для json, но я не знаю, что и как его закодировать, где я могу сохранить формат, который я хочу для вывода JSON. Это то, что я есть:Кодирование JSON через PHP

$number = array(31,25,160); 
$json_holder = array(); 
$counter = count($names); 
$i = 0; 

while($i < $counter){ 
    $json_holder = array('user'=> array('results'=> array('tagnumber' => $number[$i],'status'=>'good'),); 
    echo json_encode($json_holder); 
    $i++; 
} 

И мой выход:

{"user":{"results":{"tagnumber":31,"status":"good"}}} 
{"user":{"results":{"tagnumber":25,"status":"good"}}} 
{"user":{"results":{"tagnumber":160,"status":"good"}}} 

Так вместо того, чтобы делать новые корневые элементы JSON каждый раз я хочу просто сделать новый массив в результатах, так что это будет выход, как:

{ 
    "user": { 
     "results": [{ 
      "tagnumber": 31, 
     } { 
      "tagnumber": 25, 
     } { 
      "tagnumber": 160, 
     }], 
     "status": "okay" 
    } 
} 

Я надеюсь, что я осмысление

+0

Как ваш 'while' цикл не бесконечный цикл без' $ 'я ++? – mc10

+0

Формат, который вам нравится, не очень хороший. Что делать, если разные объекты имеют разные статусы? Обычно наличие объекта с одним свойством указывает на плохой дизайн. –

+0

Мне жаль, я забыл вставить эту часть в – Dave

ответ

2

код

$number = array(31,25,160); 
$payload = array('user' => array('results' => array(), 'status' => 'okay')); 
foreach ($number as $num) { 
    $payload['user']['results'][]['tagnumber'] = $num; 
} 
echo json_encode($payload); 

Нет необходимости в for() петли здесь.

Выход

{ 
    "user": { 
     "results": [ 
      { 
       "tagnumber": 31 
      }, 
      { 
       "tagnumber": 25 
      }, 
      { 
       "tagnumber": 160 
      } 
     ], 
     "status": "okay" 
    } 
} 
+0

. Я думаю, было бы лучше прикрепить 'статус' к каждой отдельной группе' tagnumber', чем к одному для всего 'user'. – mc10

+0

Ну, это не то, что он/она просил. – David

+0

@ mc10: Вы совершенно правы, но я только начинаю изучать JSON и его концепции, поскольку это было чем-то, что мне нужно, чтобы помочь собрать кусочек в головоломку. – Dave

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