Помещение кода на прикладном уровне приведет к независимому приложению DB.
Иногда лучше использовать хранимые процедуры по причинам производительности.
Это (как обычно), зависит от требований к приложению.
Скобки «{}» определяют объект, а «[]» используются для массивов в соответствии со спецификацией JSON. Массивы не имеют перечисления, если посмотреть на это с точки зрения распределения памяти. Это просто данные, за которыми следуют другие данные, объекты с другой стороны имеют свойства с именами, и данные назначаются свойствам, поэтому для кодирования такого объекта вы также должны передать правильные имена свойств. Но для массива вам не нужно указывать индексы, потому что они всегда будут 0..n, где n - длина массива - 1, единственное, что имеет значение, - это порядок данных.
$array = array("a","b","c");
json_encode($array); // ["a","b","c"]
json_encode($array, JSON_FORCE_OBJECT); // {"0":"a", "1":"b","2":"c"}
Причина, по которой JSON_FORCE_OBJECT вынуждает его использовать «0,1,2», заключается в том, что для назначения данных объекту возражения вы должны назначить его свойству, поскольку разработчик не дает имен свойств (только данные), кодировщик использует индексы массивов в качестве имен свойств, потому что это единственные имена, которые имеют смысл.
Примечание: согласно Руководству по PHP параметры параметров доступны только в PHP 5.3.
Для более старых версий PHP обратитесь к ответу Челмерца, чтобы узнать, как заставить json_encode использовать индексы.
Как сказал Гамбо, на стороне JS это не имеет значения. Чтобы принудительно внедрить PHP, попробуйте следующее:
$a = new stdClass();
$a->{0} = "Kum";
$a->{1} = "Kumpel";
echo json_encode($a);
Не очень удобно, я бы придерживался обозначения массива.
Поскольку у вас есть массив PHP только с числовыми ключами, нет необходимости использовать объект JavaScript. Но если он вам нужен, попробуйте предложение Майку Мори.