Функция php для отмены заданных переменных

в настоящее время я использую эту функцию php:

function if_exist(&$argument, $default = '') { if (isset ($argument)) { echo $argument; } else { echo $default; } } 

Я хочу, чтобы эта функция отключила переменные $ argument (переданные по ссылке) и $ default сразу после повторения их значения, как я могу это сделать? Заранее спасибо.

В соответствии с руководством для отмены :

Если переменная, пропущенная по ссылке, отключена () внутри функции, уничтожается только локальная переменная. Переменная в вызывающей среде будет сохранять то же значение, что и до вызова unset ().

Я предполагаю, что это проблема, с которой вы сталкиваетесь. Итак, мое предложение состоит в том, чтобы просто задать $argument для NULL . Который, согласно документам NULL , «удалит переменную и отключит ее значение».

Например: $argument = NULL;

$default передается по значению, поэтому его нельзя отменить (кроме локальной области).

Как вы, несомненно, обнаружили, unset() просто отключает ссылку на $argument . Вы можете (сортировать) unset $argument следующим образом:

 $argument = null; 

единственный способ сделать это с помощью функции – использовать глобальные переменные.

 //To unset() a global variable inside of a function, // then use the $GLOBALS array to do so: <?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?> не //To unset() a global variable inside of a function, // then use the $GLOBALS array to do so: <?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?>