si hago esto:resultados diferentes para json_encode() de PHP
$new_arr = array(
0 => 'keyboard',
1 => 'mouse',
2 => 'computer'
);
print_r(json_encode($new_arr));
Salida:
[ "teclado", "ratón", "ordenador"]
Pero Supongo que busco todas las filas de la tabla "producto" de mi base de datos y hago esto:
$product_with_id_map = array();
foreach($query as $result) {
$product_with_id_map[$result->id] = $result->name;
}
print_r(json_encode($product_with_id_map));
Salida:
{ "0": "Keyboard", "1": "ratón", "2": "ordenador"}
realmente necesito para retener la llave de la array cuando json_encode también me puede decir cómo lograr el segundo resultado en el primer ejemplo?
Así que me sale bien su pregunta: el segundo formulario de salida es el deseado, ¿no? – vzwick
sí, exactamente, quiero conservar las teclas de matriz en mi json_encode –
* "Realmente necesito conservar la clave de la matriz cuando json_encode ..." * Bueno, técnicamente tienes. Las claves son las mismas en ambos ejemplos. Pero el primero es una matriz, el otro es solo un objeto con claves de propiedad que consisten completamente de dígitos. Si el lenguaje que decodifica este JSON es JavaScript, es una diferencia muy sutil (ya que las teclas de matriz son cadenas en JavaScript - [sí, realmente] (http://blog.niftysnippets.org/2011/01/myth-of-arrays). html)). Otros idiomas pueden variar. –