Я отправляю словарь как JSON на сервер. Словарь содержит только один ключ, который представляет собой массив элементов:
header('Content-type: application/json');
$request = json_decode(file_get_contents('php://input'));
$array = json_decode($request['array']);
значение для ключа «массива» является массивом, не может быть объектом.
Таким образом, в основном эти два метода будут возвращать то же самое:
$array = json_decode($request['array']);
$array = json_decode($request['array'], TRUE);
я прав?
Единственное применение этого метода является то, когда вы хотите, чтобы преобразовать объект в массив:
$array = json_decode($request['object'], TRUE);
Почему вы никогда не хотите, чтобы сделать это?
Я имею в виду, что я понимаю, что могут быть приложения для этого, но, с другой стороны, мне потребовался целый день, чтобы переварить этот способ мышления, и все еще кажется, что существует огромный разрыв в мышлении.
Это небольшое удобство испортит конкретный способ анализа данных и просто запутывает новичка, подобного мне.
Ну, во многих случаях, работающих с ассоциативным массивом проще, чем работать со стандартным объектом класса, вот почему. – adeneo
Если проще работать с ассоциативным массивом, то ... почему вы отправляете объект в первую очередь ??? – Vulkan
Вы не отправляете объект, вы отправляете строку в формате JSON. Как вы разбираете, что JSON на сервере зависит от вас, и, как правило, ассоциативные массивы часто легче работать, чем стандартные объекты класса. – adeneo