Pergunta

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

Foi útil?

Solução

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

Outras dicas

Use json_encode

echo json_encode($ausgabe);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top