#php #arrays #json #judy-array
#php #массивы #json #judy-массив
Вопрос:
Я пытаюсь адаптировать Judy к своему коду, используя его почти как обычный массив php, но у меня не получается получить доступ к многомерному массиву. Каждый раз, когда я пытаюсь напечатать вложенное значение ключа, я получаю NULL.
- как я могу выполнить итерацию по своим результатам?
- как я могу закодировать эту структуру в json? Каждый раз, когда я пытаюсь, я получаю пустые скобки «{}»
Мой код:
/**
* This method parses the content of XML body
* Array of objects to spare more memory usage
* @param $xml object SimpleXml Object
* @param $timeRequest array this second param brings the time_request value along with the url
*/
private function parseXmlContent($xml, $timeRequest)
{
$counter = 0;
$forecast = new Judy(Judy::INT_TO_MIXED);
foreach ($xml->point as $key => $value):
$forecast[$counter] = $this->initJudy($value, $timeRequest, count($value);
$counter ;
endforeach;
$this->sucess ;
$this->results[$this->results->nextEmpty(0)] = $forecast;
}
private function initJudy($value, $timeRequest, $length)
{
$judy = new Judy(Judy::STRING_TO_MIXED);
$judy['timestamp'] = (string)$value->data[0];
$judy['time_request'] = $timeRequest[0]->time_request;
$judy['latitude'] = (string)$value->data[1];
$judy['longitude'] = (string)$value->data[2];
$j = 0;
for ($i = 3; $i < $length; $i ) {
$attribute = $this->variables[$j];
$judy[$attribute] = (string)$value->data[$i];
$j ;
}
return $judy;
}
Комментарии:
1.
json_encode($this->results);
или что вы хотите передать в виде структуры данных JSON, смотрите руководство2. @RiggsFolly я изменил структуру и теперь работаю с чем-то вроде этого:
$judy[INT] = new Judy(STRING_TO_MIXED);
использование функции json_encode возвращает пустое{}