vechnokrainii
@vechnokrainii
ну почти всегда(

Почему не работает пользовательская функция?

Здравствуйте! Мне нужно создать XML - файл согласно определенным требованиям. Наполняю я его из базы. ($dada)
Иногда, для некоторых площадок нужно нашу информацию передать слегка в другом формате. Я называю это справочник)
Например:
$colorist = array(
  'зеленый' => 'greeb',
  'красный' => 'red',
  'синий' => 'blue',
);

Функции необходимо проверить если информация в базе, т.к. не все сотрудники заполняют всю информацию и если нет, то не записывать это поле в файл. Если есть то записывать.
Я написал, но не могу понять почему не работает.
// справочник
$colorist = array(
  'зеленый' => 'greeb',
  'красный' => 'red',
  'синий' => 'blue',
);
//массив полученный из базы данных
$data[];

// тег для XML-файла ($teg)
// справочник, но он не всегда нужен ($book)
// поле из базы данных которое я должен записать ($value)
// т.к. поле может множественным, например картинки, а их придется выводить циклом использовал count()

function write ($teg, $book, $value) {
	if ($value == false || count($value)<1) { 
		return NULL;
	} 
	if ($book == false) {
		return $xml->writeElement("color", $value);
	} else {
		return $xml->writeElement("color", $colorist[$value]);
	}
}
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
DevMan
@DevMan
потому что переменные вне функции не видны внутри функции.
https://www.php.net/manual/ru/language.variables.s...
Ответ написан
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
Добавьте в функцию
function write ($teg, $book, $value) {
    $global $colorist, $xml;
     ... 
}

И включите отображение ошибок на экран
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы