2010-04-13 19 views
12

Para abreviar, el alojamiento del cliente usa php 5.2.5 y necesito desesperadamente usar la opción JSON_FORCE_OBJECT con json_encode() que viene con 5.3. ¿Alguien sabe algún equivalente para ese propósito? Señálalo por favor.PHP: necesita funcionalidad json_encode() 5.3 en 5.2

+0

¿Por qué no simplemente actualizar a 5.3? – cletus

+10

@cletus si todos tuviéramos el control sobre cada entorno de hosting alguna vez – typeoneerror

+0

... todavía estoy en 4.2/cry – nickf

Respuesta

19

casting como un objeto antes de la codificación trabajado para mí en 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} 

Y usando PHP 5.3 se obtiene el mismo resultado:

echo json_encode($array); 
// [0,1,2] 
echo json_encode($array, JSON_FORCE_OBJECT); 
// {"0":1,"1":2,"2":3} 

También podría intente this solution desde otro hilo. No estoy seguro de cuál es su caso de uso exacto.

+0

Esto debería estar documentado en la página de función json_encode de PHP. – Haris

+0

Gracias. ¡Casting debería hacer el truco! – Zlatev