Судя по вашему комментарию, кажется, что это не функция, которая не определена, а переменная.
Проблема не в самой функции, там ваша переменная $message
установлена впустая строка, если в функцию не передана переменная.
Проблема в вызове вашей функции:
<?php echo output_message($message); ?>
Здесь вы вызываете свою функцию с переменной, также называемой $message
,но совершенно не связан с переменной $message
в вашей функции.Эта глобальная переменная не существует, и поэтому php выдает вам предупреждение.
То, как вы определили свою функцию, означает, что вы можете вызывать ее следующим образом:
<?php echo output_message(); ?>
без проблем;если переменная не указана, переменная $message
в функции устанавливается на пустую строку.
Однако при использовании:
<?php echo output_message($any_variable_name); ?>
будет выдано предупреждение, если $any_variable_name
неопределяется в области, в которой вы находитесь (в данном случае это глобальная область).