Почему не формируется массив из цикла по XML?
Привет от выскочки
<?php
$xmlstr = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="27 Jul 2022 18:25:14">
    <shop>
        <name>Официальный интернет-магазин KRUPS</name>
        <company>ООО "Фирменные решения"</company>
        <currencies>
            <currency id="RUB" rate="1"/>
        </currencies>
        <categories>
            <category id="7">Продукты</category>
            <category id="12" parentId="7">Кофеварки</category>
            <category id="11" parentId="12">Капельные кофеварки</category>
            <category id="2" parentId="7">Автоматические кофемашины</category>
            <category id="3" parentId="7">Рожковые кофеварки</category>
            <category id="5" parentId="7">Кофемолки</category>
            <category id="10" parentId="7">Капсульные кофемашины</category>
            <category id="4" parentId="10">Nescafe Dolce Gusto</category>
            <category id="9" parentId="10">Nespresso</category>
            <category id="6">Аксессуары</category>
            <category id="8" parentId="6">Аксессуары для кофемашин</category>
        </categories>
    </shop>
</yml_catalog>
XML;
$xml = new SimpleXMLElement($xmlstr);
$cat = [];
foreach ($xml->shop->categories->children() AS $category) {
    $id = (int) $category->attributes()->id;
    $value = (string) $category;
    $cat[$id] = $value;
}
var_dump($cat);
Хммм, $value['id'] и $value одновременно?
Что-то тут не складывается.
Может нужно указать ключ типа $value['title'], или как-нибудь ещё?