Конвертовање ПХП низа у КСМЛ или једноставно КСМЛ Објецт

класа АрраиТоКСМЛ

{

/ **

* Основна функција за конвертовање у КСМЛ документа.

* Пасс у мулти димензионални низ и то преко петље рецрусивели и гради КСМЛ документ.

*

* @ Парам арраи $ дата

* @ Парам стринг $ роотНодеНаме - шта желите да буде корен чвор - дефаултсто подаци.

* @ Парам СимплеКСМЛЕлемент $ КСМЛ - треба само да се рекурзивно користити
* @ Повратак ниска КСМЛ

* /

публиц статиц функција тоКсмл ($ дата, $ роотНодеНаме = 'Подаци', $ кмл = нулл)

{

/ / Искључивање режима за компатибилност и једноставан КСМЛ баца дрхти, ако не урадите.

ако (ини_гет ('зенд.зе1_цомпатибилити_моде') == 1)

{

Види профил ('зенд.зе1_цомпатибилити_моде', 0);

}

иф ($ кмл == НУЛЛ)

{

$ Ксмл = симплекмл_лоад_стринг ("<кмл версион = '1 .0 То енцодинг =" УТФ-8 '?> <$ РоотНодеНаме /> ");

}

/ / Петља кроз подацима прошло ин

фореацх ($ подаци као $ кеи => $ вредност)

{

/ / Без нумерички тастери у нашој КСМЛ плеасе!

ако (ис_нумериц ($ кеи))

{

/ / Направи стринг кључ ...

$ Кеи = "ункновнНоде_". (Стринг) $ тастер;

}

/ / Замени ништа не алфа нумерички

$ Кеи = прег_реплаце ("/ [^ аз] / и ',", $ тастер);

/ / Ако постоји неки други низ пронађен рецрусивели називају ову функцију

ако (ис_арраи ($ вредност))

{

$ Чвор = $ кмл-> аддЦхилд ($ кеи);

/ / Рецрусиве позив.

АрраиТоКСМЛ :: тоКсмл ($ валуе, $ роотНодеНаме, $ чвор);

}

друго

{

/ / Додај један чвор.

$ Валуе = хтмлентитиес ($ валуе);

$ Ксмл-> аддЦхилд ($ кеи, $ вредност);

}

}

/ / Назад проћи као стринг. или једноставно КСМЛ објекат, ако желите!

врати $ кмл-> асКСМЛ ();

}

}

Можете оставити одговор , или трацкбацк са свог сајта.

Леаве а Репли

Морате бити пријављени да поставиш коментар.