1. PHP / Говнокод #7579

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    
     $xml = simplexml_load_string($xmlstring);
    $json = json_encode($xml);
    $array = json_decode($json,TRUE);
    
    ?>

    "Three line xml2array"
    http://www.php.net/manual/en/book.simplexml.php#105330

    Запостил: striker, 18 Августа 2011

    Комментарии (10) RSS

    • лол
      Ответить
    • ну я когда-то так же делал, ничего страшного.
      Ответить
    • Говнокод изысканный, 1 шт.
      Ответить
    • мда, распечатать и на стенку повесить в рамочку
      Ответить
    • @striker, опять нибось xml велопарсер пишешь?
      Ответить
    • Игла в яйце, яйцо в утке, утка в зайце, заяц в шоке.(с)
      Ответить
    • кстати, самый вменяемый, хоть и не самый быстрый, способ преобразовать многомерный/вложенный массив в stdClass это следующий говнокод
      //$x = some array
      $x = json_encode(json_encode($x, JSON_FORCE_OBJECT));
      Ответить
      • Ждём репоста этого говнокода через годик.
        Ответить
        • есть более быстрые и/простые способы?
          кроме рекурсивной (object)$arr?
          Ответить
          • Нет, но зачем вводить в заблуждение такими конструкциями? В сети много примеров типа этого:
            function arrayToObject($d) {
                if (is_array($d)) {
                    /*
                    * Return array converted to object
                    * Using __FUNCTION__ (Magic constant)
                    * for recursive call
                    */
                    return (object) array_map(__FUNCTION__, $d);
                }
                else {
                    // Return object
                    return $d;
                }
            }
            Ответить

    Добавить комментарий