Мне просто интересно, есть ли быстрый способ повторить неопределенные переменные без предупреждения? (Я могу изменить уровень отчетности об ошибках, но я не хочу этого делать.) Самое маленькое, что я до сих пор:
isset($variable)?$variable:'' 
Мне это не нравится по нескольким причинам:
$variable повторяется $arrayvar['parameter'] вы можете использовать пример ifsetor (), взятый здесь :
 function ifsetor(&$variable, $default = null) { if (isset($variable)) { $tmp = $variable; } else { $tmp = $default; } return $tmp; } 
например:
 echo ifsetor($variable); echo ifsetor($variable, 'default'); 
Это не генерирует уведомление, потому что переменная передается по ссылке.
Вы можете запустить его с помощью оператора подавления ошибок @.
 echo @$variable; 
Однако лучше не игнорировать неустановленные переменные. Unset variables может указывать на логическую ошибку в скрипте, и лучше всего обеспечить, чтобы все переменные были установлены перед использованием.
 echo @$variable; 
  Это давняя проблема с PHP , они намереваются исправить ее с помощью isset_or() (или аналогичной функции) в PHP 6, надеюсь, эта функция также превратится в PHP 5.3.  На данный момент вы должны использовать пример isset () / trernary в своем вопросе или использовать префикс @, чтобы отключить эту ошибку.  IMHO, это единственное обстоятельство, которое оправдывает использование @ в PHP. 
  Я бы не стал беспокоиться о проблемах скорости с использованием echo с пустой строкой, вероятно, более дорого обернуть его в предложение if , чем просто отбросить пустую строку. 
неопределенные переменные очень распространены, я предлагаю вам сначала инициализировать переменную с нулем
 $var = null; 
или отключить отчет об ошибках для уведомлений:
 error_reporting(E_ALL^E_NOTICE); 
Подавление ошибок с помощью @ -оператора заставляет интерпретатор изменять уровень ошибок, выполнять функцию, а затем изменять уровень ошибок. Это уменьшает время выполнения скриптов.
Построение такой функции позволит устранить по крайней мере 3 из ваших причин:
 function echoVar($var, $ret=NULL) { return isset($var)?$var:$ret; } echoVar($arrayvar['parameter']); 
Но почему повторять неопределенные переменные? Это звучит не очень хорошо …