SimpleXMLElement из ответа curl - проблема с @attributes

XML-код из ответа:

<hints label = "luggage">20</hints>
<hints label = "handluggage">5</hints>
<hints label = "landing"></hints>

После этой функции с ответом:

$arrayResponse = json_decode(json_encode((array)simplexml_load_string($response)), true);

У меня есть это:

"hints" => [
    0 => "20",
    1 => "5",
    2 => [
        @attributes = [
            label => "landing"
        ]
    ]
]

Ключей "багаж" и "ручная кладь" не существует.

Как получить КЛЮЧИ со значениями из XML? Пример:

[
  "luggage" => 20,
  "handluggage" => 5,
  "landing" => null
]
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
52
1

Ответы 1

Решение без использования json:

$response = '<root><hints label = "luggage">20</hints><hints label = "handluggage">5</hints><hints label = "landing"></hints></root>';
$a = [];
foreach (simplexml_load_string($response)->hints as $hint) {
    $value = (string)$hint;
    $a[(string)$hint['label']] = $value ?: null;
}
print_r($a);

Другие вопросы по теме