Intereting Posts
Объединяйте массивы, чтобы они содержали только повторяющиеся значения как вставить пустое значение в поле типа даты mysql? Как я могу поместить содержимое страницы CMS в статический блок? Выбор строк, где поле имеет нулевое значение, используя подготовленные инструкции PHP PDO и MySQL Получение имени столбца из индексов строк и столбцов в PHPExcel обновить div для извлечения информации из базы данных без обновления всей страницы Разбор HTML-таблиц через DOM PHP Script не работает в WordPress правильно $ .post не POSTing ничего Как эмулировать POSTing несколько полей формы флажка myField с Zend_Http_Client? Как получить фактический URL-адрес запроса в Apache / PHP, если он не существует, и пользователь перенаправляется на страницу ошибок 404? получить первые 3 строки текстового файла в php Как получить доступ к таблице внутри схемы без использования префикса схемы (Postgres + PHP)? PHP: «использовать» в include-файлах? Получить контент (текст) URL-адреса после запуска Javascript с помощью PHP

Очистка массива _POST полностью

Я хочу, чтобы ясное содержимое массива $ _POST полностью, все примеры, которые я вижу в Интернете, выглядят так:

if (count($_POST) > 0) { foreach ($_POST as $k=>$v) { unset($_POST[$k]); } } 

Скажите пожалуйста, этот вариант будет не лучше? (С точки зрения экономии ресурсов)

 if (count($_POST) > 0) { $_POST = array(); } 

или нет ?

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

 $_POST = array(); 

… будет вполне достаточно. Цикл бесполезен. Вероятно, лучше сохранить его как массив, а не отключить его, если другие файлы пытаются его прочитать и считая, что это массив.

Чтобы $_POST переменную $_POST , переопределите ее как пустой массив:

 $_POST = array(); 

Это может показаться чересчур неудобным, но вам, вероятно, лучше отключить один элемент за раз, а не весь массив $ _POST. Вот почему : если вы используете объектно-ориентированное программирование, у вас может быть один класс, который использует $ _POST ['alpha'], а другой класс использует $ _POST ['beta'], и если вы отключите массив после первого использования, он будет void его использование в других классах. Чтобы быть в безопасности и не стрелять себе в ногу, просто введите небольшой метод, который будет отменять элементы, которые вы только что использовали: например:

 private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } с private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } с private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } с private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } с private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } с private function doUnset() { unset($_POST['alpha']); unset($_POST['gamma']); unset($_POST['delta']); unset($_GET['eta']); unset($_GET['zeta']); } 

Просто вызовите метод и отмените только те суперглобальные элементы, которые были переданы переменной или аргументу . Тогда другие классы, которые могут нуждаться в суперглобальном элементе, могут все еще использовать их.

Тем не менее, вам разумно отключить суперглобалы, как только они будут переданы инкапсулированному объекту.

Вы можете использовать комбинацию как unset() и инициализации:

 unset($_POST); $_POST = array(); с unset($_POST); $_POST = array(); 

Или в одном заявлении:

 unset($_POST) ? $_POST = array() : $_POST = array(); 

Но почему вы хотите это сделать?

Чтобы ответить «почему» кто-то мог его использовать, я был склонен использовать его, так как у меня были значения $ _POST, сохраненные после обновления страницы или при переходе с одной страницы на другую. Мой смысл подсказывает мне, что это не очень хорошая практика, но тем не менее она работает.