Есть скрипт, он получает данные json, пробегается по ним в цикле и заполняет массив, если он встречает определенный тип, он должен создать массив в массиве, и положить данные туда, но это не работает
$fp = file_get_contents( 'dump/conf.json' );
$result = json_decode( $fp );
$edges = $result->data->user->edge_owner_to_timeline_media->edges;
$i = 0;
$img = array();
foreach ( $edges as $edg )
{
$d = 0;
$img[$i] = $edg->node->display_url;
if ( $edg->node->__typename == "GraphSidecar" )
{
$children = array();
foreach ( $edg->node->edge_sidecar_to_children->edges as $ed )
{
$img[$i]['children'][$d] = $ed->node->display_url;
$d++;
}
}
$i++;
}
echo "<pre>";
var_dump( $img );
echo "</pre>";
Ошибка возникает на строке $img[$i]['children'][$d] = $ed->node->display_url;
Текст ошибки: Illegal string offset 'children', Uncaught Error: Cannot use string offset as an array in
Если просто сделать так, то все работает
$img[0]['children'][1] = "Test";