Это, кажется, не поддерживается (или даже не обсуждалось в списке рассылки Git ). команда дважды, один раз включая «/» для получения всего пути к папкам, один раз исключая «/» только для получения файлов)
Ответ на этот вопрос заключается в том, что невозможно сократить то, что у меня уже есть.
Подавление уведомлений или предупреждений - это не то, что я хочу делать, поэтому мне всегда нужно чтобы проверить, пусто () или isset () перед проверкой значения, и вы не можете проверить, пусто ли что-то () или isset () внутри функции.
if(isset($var) && ($var === '0' || !empty($var)))
{
}
if ((isset($var) && $var === "0") || !empty($var)) { }
This way you will enter the if-construct if the variable is set AND is "0", OR the variable is set AND not = null ("0",null,false)
function isempty(&$var) {
return empty($var) || $var === '0';
}
Ключ - это оператор &
, который передает переменную по ссылке , создавая его, если он не существует.
function Void($var)
{
if (empty($var) === true)
{
if (($var === 0) || ($var === '0'))
{
return false;
}
return true;
}
return false;
}
Это должно делать то, что вы хотите:
function notempty($var) {
return ($var==="0"||$var);
}
Редактировать: я думаю, таблицы работают только в предварительном просмотре, а не в реальных ответах. Поэтому, пожалуйста, обратитесь к таблицам сравнения типов PHP для получения дополнительной информации.
notempty("") : false notempty(null) : false notempty(undefined): false notempty(array()) : false notempty(false) : false notempty(true) : true notempty(1) : true notempty(0) : false notempty(-1) : true notempty("1") : true notempty("0") : true notempty("php") : true
По сути, notempty () - это то же самое, что! Empty () для всех значений, кроме «0», для которых он возвращает правда .
См. Ответ orlandu63 о том, как передавать аргументы в пользовательскую функцию по ссылке .