5 простых способов конвертировать данные JSON в массив в PHP

В PHP работа с данными JSON является распространенной задачей, и иногда вам может потребоваться преобразовать данные JSON в массив для упрощения манипулирования и обработки. В этой статье мы рассмотрим пять простых методов преобразования данных JSON в массив с использованием разговорного языка и предоставим примеры кода для каждого метода. Итак, приступим!

Метод 1: функция json_decode()
Функция json_decode() — это встроенная функция PHP, которая преобразует строку JSON в переменную PHP. Передав строку JSON в качестве первого параметра и установив для второго параметра значение true, вы можете преобразовать строку JSON непосредственно в ассоциативный массив.

$jsonString = '{"name": "John", "age": 30, "city": "New York"}';
$array = json_decode($jsonString, true);

Метод 2: приведение типов
Еще один простой метод — использование приведения типов. Вы можете преобразовать строку JSON в массив, используя (array)или (object).

$jsonString = '{"name": "John", "age": 30, "city": "New York"}';
$array = (array) json_decode($jsonString);

Метод 3: json_decode() с stdClass
Если вы предпочитаете работать с объектами, а не с массивами, вы можете использовать функцию json_decode() без передачи второго параметра.

$jsonString = '{"name": "John", "age": 30, "city": "New York"}';
$obj = json_decode($jsonString);
$array = (array) $obj;

Метод 4: использование функций массива
PHP предоставляет несколько функций массива, которые помогут вам преобразовать данные JSON в массив. Для достижения этой цели вы можете комбинировать json_decode() с такими функциями, как array_values() и array_map().

$jsonString = '{"name": "John", "age": 30, "city": "New York"}';
$array = array_values(json_decode($jsonString, true));

Метод 5: рекурсивный подход
Если ваши данные JSON содержат вложенные объекты или массивы, вы можете использовать рекурсивную функцию для преобразования их в многомерный массив.

$jsonString = '{"name": "John", "age": 30, "city": "New York", "hobbies": ["Reading", "Gaming"]}';
$array = json_decode($jsonString, true);
function jsonToArray($data)
{
    if (is_object($data)) {
        $data = (array) $data;
    }
    if (is_array($data)) {
        return array_map('jsonToArray', $data);
    }
    return $data;
}
$array = jsonToArray($array);

Преобразование данных JSON в массив — распространенное требование при разработке PHP. В этой статье мы рассмотрели пять простых способов добиться этого: использование функции json_decode(), приведение типов, работа с stdClass, использование функций массива и применение рекурсивного подхода. В зависимости от ваших конкретных потребностей и предпочтений вы можете выбрать наиболее подходящий метод для вашего проекта.