Frage

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 :)

War es hilfreich?

Lösung

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);

Andere Tipps

Use json_encode

echo json_encode($ausgabe);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top