Pregunta

i try to make a json output like this:

{
    "ergebnis": {
        "kurse": [
            "8b",
            "10m"
        ],
        "test": [
            "abc",
            "dss"
        ]
    }
}

but it should looks like :

"ergebnis": [
        {
            "kurse": 8b,
            "test": "abc",

        },
        {
            "kurse": 10m,
            "test": "dss",

        }
    ]
}

This is my code:

$kurse = array();
$kurse[0] = "8b";
$kurse[1] = "10m";
$test = array();
$test[0] = "abc";
$test[1] = "dss";

$ausgabe = array(
    'ergebnis' =>
        array('kurse' => $kurse,'test' => $test)

    );

What do I wrong ?

Thank you in advance :)

¿Fue útil?

Solución

You are setting the entire $kurse array as the 'kurse' value. If you want the 2nd output, then you need to format your PHP array correctly. As shown, your PHP code creates the JSON shown in the 1st example.

If you want the 2nd example, then you need to do something like this:

$ausgabe = array_map(function($a, $b){
    return array(
        'kurse' => $a,
        'test' => $b
    );
}, $kurse, $test);

Otros consejos

Use json_encode

echo json_encode($ausgabe);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top