¿Cómo crear una matriz para JSON usando PHP?

3 minutos de lectura

¿Como crear una matriz para JSON usando PHP
Mimmo

Desde el código PHP, quiero crear una matriz json:

[
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"}
]

¿Cómo puedo hacer esto?

  • posible duplicado de ¿Cómo generar un archivo .json con PHP?

    – Trilarión

    2 de marzo de 2015 a las 14:27

  • La misma pregunta en 2009: generar una cadena json a partir de datos de matriz multidimensional

    – mickmackusa

    31 de enero a las 1:17

Fácil exprimido de limón con guisantes: http://www.php.net/manual/en/function.json-encode.php

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

Hay una publicación de andyrusterholz at g-m-a-i-l dot c-o-m en la página antes mencionada que también puede manejar matrices anidadas complejas (si eso es lo tuyo).

¿Como crear una matriz para JSON usando PHP
Shef

Usa PHP nativo json_encodeMe gusta esto:

<?php
$arr = array(
    array(
        "region" => "valore",
        "price" => "valore2"
    ),
    array(
        "region" => "valore",
        "price" => "valore2"
    ),
    array(
        "region" => "valore",
        "price" => "valore2"
    )
);

echo json_encode($arr);
?>

Actualizar: Para responder a su pregunta en el comentario. Lo haces así:

$named_array = array(
    "nome_array" => array(
        array(
            "foo" => "bar"
        ),
        array(
            "foo" => "baz"
        )
    )
);
echo json_encode($named_array);

  • Disculpe pero si quiero {“nome_array”: [{“foo”:”bar”},{“foo”:”baz”}]} ??

    – Mimmo

    18 de julio de 2011 a las 23:12

Simple: solo cree una matriz PHP (anidada) y llame json_encode en eso. Las matrices numéricas se traducen en listas JSON ([]), matrices asociativas y objetos PHP se traducen en objetos ({}). Ejemplo:

$a = array(
        array('foo' => 'bar'),
        array('foo' => 'baz'));
$json = json_encode($a);

Te dio:

[{"foo":"bar"},{"foo":"baz"}]

  • Disculpe pero si quiero {“nome_array”: [{“foo”:”bar”},{“foo”:”baz”}]} ??

    – Mimmo

    18 de julio de 2011 a las 22:45

  • Lee mi publicación de nuevo. Si desea que algo se traduzca en un objeto JSON, conviértalo en una matriz asociativa en PHP (donde las claves son cadenas). Si desea que se traduzca en una lista JSON, conviértalo en una matriz simple (con claves enteras implícitas). El valor de cada elemento de la matriz a su vez puede ser una matriz, que es lo que desea.

    – tdammers

    19 de julio de 2011 a las 8:56

  • Además, los índices de matriz deben comenzar en 0. Si están basados ​​en 1, se convierten en objetos kv.

    – sivann

    3 de febrero a las 12:40


¿Como crear una matriz para JSON usando PHP
Parveen Verma

La mejor forma en que debe ir cada vez para crear json en php es convertir primero los valores en una matriz ASOCIATIVA.

Después de eso, simplemente codifique usando json_encode($associativeArray). Creo que es la mejor manera de crear json en php porque cada vez que obtenemos el resultado de la consulta sql en php, la mayoría de las veces obtenemos valores usando fetch_assoc función, que también devuelve una matriz asociativa.

$associativeArray = array();
$associativeArray ['FirstValue'] = 'FirstValue';

… etc

Después.

json_encode($associativeArray);

también para la matriz puede usar una anotación corta:

$arr = [
    [
        "region" => "valore",
        "price" => "valore2"
    ],
    [
        "region" => "valore",
        "price" => "valore2"
    ],
    [
        "region" => "valore",
        "price" => "valore2"
    ]
];

echo json_encode($arr);

1646958247 57 ¿Como crear una matriz para JSON usando PHP
iZeeshan

Así es como puedo hacerlo con la ayuda de la solución proporcionada por @tdammers a continuación. La siguiente línea se colocará dentro del ciclo foreach.

$array[] = array('power' => trim("Some value"), 'time' => "time here" );

Y luego codifique la matriz con la función de codificación json

json_encode(array('newvalue'=> $array), 200)

1646958248 902 ¿Como crear una matriz para JSON usando PHP
elModerador713

Simplemente escribir esta sola línea le daría una matriz json,

echo json_encode($array);

Normalmente usas json_encode para leer datos de una aplicación ios o android. así que asegúrese de no repetir nada más que la matriz json precisa.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad