echo error_reporting(); $err=array(1 => 'E_ERROR' , 2 => 'E_WARNING' , 4 => 'E_PARSE' , 8 => 'E_NOTICE' ,16 => 'E_CORE_ERROR' , 32 => 'E_CORE_WARNING' ,64 => 'E_COMPILE_ERROR' ,128 => 'E_COMPILE_WARNING' , 256 => 'E_USER_ERROR' ,512 => 'E_USER_WARNING' ,1024 => 'E_USER_NOTICE' ,2047 => 'E_ALL '); function foo( &$intval ){ $x=2047; while( $x > 0 ){ if( $x < $intval ){ $intval = $intval - abs( $x ) ; return abs( $x ) ; } $x = ceil( $x / 2 ) ; } } function bar( $intval ,$err ){ while( $intval > 0 ){ if( isset( $err[$intval] ) ){ $array[] = $err[$intval]; break; } $rets = foo( $intval ) ; $array[] = $err[$rets]; } return $array ; } $intval = 2047 - (int)ini_get( 'error_reporting' ) ; echo 'E_ALL & ~ ( ' .@implode( ' | ' , bar( $intval , $err ) ) . ' ) ';