У меня проблема с тем, что я пытаюсь сохранить ID
как индекс массива, но когда я преобразую массив в json, ID
появляется как объект, а не как элемент массива.
Это краткий пример:
$ID = 1001 ;
$item = [] ;
$item["regional"] = [] ;
$item["regional"][$ID] = $someInfo ; //object
json_encode($item) ;
Я возвращаю json в свое приложение, и когда я смотрю на json, форматирующий перечисленные выше списки 1001
как объект:
[0:
{ regional:
{ 1001 :
someInfoA : valueA
someInfoB : valueB
}
}
]
Если я изменю значение $ID = 0
, то он сохранит ID
в качестве правильного индекса массива - вот что мне нужно:
$ID = 0 ;
$item = [] ;
$item["regional"] = [] ;
$item["regional"][$ID] = $someInfo ; //object
json_encode($item) ;
Выше теперь показано ID = 0
как индекс массива [0]:
[0:
{ regional:
[ 0 :
{
someInfoA : valueA
someInfoB : valueB
}
]
}
]
Как получить первый пример, чтобы установить индекс массива как 1001
и трактоваться как элемент массива, а не как объект. Мне нужно сделать это, чтобы я мог быстро увидеть, существует ли этот элемент / идентификатор индекса массива, чтобы либо добавить к нему, либо создать его, а затем добавить к нему.
Если это невозможно, то как можноЯ ищу многомерный массив / объект, чтобы вернуть индекс массива, который содержит значение объекта 1001
?
[0:
{ regional:
[ 0 :
{
ID: 1000
someInfoA : valueA
someInfoB : valueB
}
]
[ 1 :
{
ID: 1001
someInfoA : valueA
someInfoB : valueB
}
]
}
]
$index = array_key_exists($item["regional"],1001) ; // or something like this
var_dump($index) ; // index = 1 ;