Короче говоря, клиентский хостинг использует php 5.2.5, и я отчаянно нуждаюсь в использовании опции JSON_FORCE_OBJECT с json_encode()
, которая поставляется с 5.3. Кто-нибудь знает какой-то эквивалент для этой цели? Укажите это пожалуйста.
PHP: нужна функция json_encode() 5.3 в 5.2
Ответ 1
Кастинг как объект до кодирования работал у меня на 5.2.5:
$array = array(1,2,3);
echo json_encode($array);
// [0,1,2]
echo json_encode((object)$array);
// {"0":1,"1":2,"2":3}
И использование PHP 5.3 дает тот же результат:
echo json_encode($array);
// [0,1,2]
echo json_encode($array, JSON_FORCE_OBJECT);
// {"0":1,"1":2,"2":3}
Вы также можете попробовать это решение из другого потока. Не уверен, что такое ваш прецедент.
Ответ 2
Вы можете использовать пакет pear PHP для поддержки json_encode в старых версиях PHP. Кажется, он поддерживает закодированные объекты.
Оформить заказ http://pear.php.net/package/Services_JSON/