Здравствуйте, я продолжаю изучить функции, задовал уже подобный вопрос ранее
Почему не работает пользовательская функция?
Столкнулся с тем, что не всегда она подходит.
Решил написать слегка по другому
function wrAr (array($start) = false, array($val)){
global $xml; // это xmlwriter
if(empty(array_column($val, '1'))) {
return NULL;
}
if (!empty($start)) {
foreach($start as $st) {
return $xml->startElement($st['0']);
}
}
foreach($val as $value) {
if (empty($value)) {
continue;
}
return $xml->writeElement($value['0'], !$value['2'] ? $value['1'] : $value['2'][$value['1']]);
}
$start = array_reverse($start);
foreach($start as $st) {
return $xml->endElement();
}
}
Что я хочу в итоге
допустим в $video какая -то ссылка на видео
wrAr(false,['video', $video]);
wrAr(false,[['video', $video],['video', video1]]);
И получить в XML файле
<videol>https://expamle.com/111111</video>
<videol>https://expamle.com/111111</video>
<videol>https://expamle.com/222222</video>
или
wrAr([videos],[['video', $video],['video', video1]]);
<videos>
<videol>https://expamle.com/111111</video>
<videol>https://expamle.com/222222</video>
</videos>
или если есть какой-то справочник
$book = [ 'red' => 'красный', 'blue' => 'синий'];
$color = 'red';
wrAr(false,['colorist', $color, $book]);
Нужный результат
<colorist>красный</colorist>
Подскажите, что я сделал не так
Проверка не пустое поле или нет перед записью в XML обязательно(