Показать сообщение отдельно

  #8577  
Старый 08.02.2009, 09:51
[x26]VOLAND
Постоянный
Регистрация: 07.06.2006
Сообщений: 556
Провел на форуме:
7549607

Репутация: 2702


Отправить сообщение для [x26]VOLAND с помощью ICQ Отправить сообщение для [x26]VOLAND с помощью AIM
По умолчанию

Цитата:
Сообщение от .:EnoT:.  
mailbrush
PHP код:
if(in_array(''$_POST)) die('Что-то пусто'); 
А если в POST объявлен служебный элемент (submit формы и тп.)? он ведь будет всегда пустым....

PHP код:
/**
 * Find whether a string is really empty
 * (Substitution of empty())
 * 
 * If the first argument is an array, its elements will be checked in the aggregate 
 * depending on the logical method (AND - conjunction, OR - disjunction)
 * AND - Returns TRUE if all elements are empty
 * OR - Returns TRUE if at least one element is empty
 * 
 * This function also may be used for checking arrays 
 * concerning absence of elements
 * 
 * @param    string|array        string(s) to check
 * @param    string            checking method (LOGICAL_AND|LOGICAL_OR)
 * @return    bool
 */
function is_empty($data$method 'LOGICAL_OR')
{
    if (
is_array($data)) {
        switch (
$method) {
            case 
'LOGICAL_AND' 
            {
                return 
is_empty(join(''$data));
            }
            
            case 
'LOGICAL_OR' :  {
                foreach (
$data as $str) {
                    
$result[] = ( (string) $str === '' ) ? 't' 'f';
                }
                return (
in_array('t'$result)) ? true false;
            }
        }
    } else {
        return ( (string) 
$data === '' ) ? true false;
    }
}

/*--------------------------------------------------------*/
$is_empty is_empty(array(
                        
$_POST['var1'],
                        
$_POST['var2'],
                        
$_POST['varN']),
                    
'LOGICAL_OR');
echo 
$is_empty 'some field is empty' 'all ok'
В отличие от empty() моя функция по-человечески реагирует на '0', то есть не считает строку с нулём пустой.

Последний раз редактировалось [x26]VOLAND; 08.02.2009 в 09:54..
 
Ответить с цитированием