سؤال

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

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

Use json_encode

echo json_encode($ausgabe);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top