<?php
    /*
        json_decode(
        string $json,
        ?bool $associative = null,
        int $depth = 512,
        int $flags = 0
        ): mixed
    */

    /*
    json
        Строка (string) json для декодирования.
        Эта функция работает только со строками в кодировке UTF-8.

    associative
        Если true, объекты JSON будут возвращены как ассоциативные массивы (array);
        если false, объекты JSON будут возвращены как объекты (object).
        Если null, объекты JSON будут возвращены как ассоциативные массивы (array)
        или объекты (object) в зависимости от того,
        установлена ли JSON_OBJECT_AS_ARRAY в flags.

    depth
        Максимальная глубина вложенности структуры,
        для которой будет производиться декодирование.

    flags
        Битовая маска из констант JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE,
        JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR.
        Поведение этих констант описаны на странице JSON-констант.
    */

    $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

    var_dump(json_decode($json));
    var_dump(json_decode($json, true));


    $json = '{"foo-bar": 12345}';

    $obj = json_decode($json);
    print $obj->{'foo-bar'}; // 12345
?>
