public static function is_ascii($data)
	{
		if (! ReflectionTypeHint::isValid()) return false;
		if (is_array($data))
		{
			foreach ($data as $k => &$v)
			{
				if (! self::is_ascii($k) || ! self::is_ascii($v)) return false;
			}
			return true;
		}
		#ltrim() little faster then preg_match()
		#if (is_string($data)) return preg_match('/^[\x00-\x7f]*$/sSX', $data); #deprecated
		if (is_string($data)) return ltrim($data, "\x00..\x7f") === '';
		if (is_scalar($data) || is_null($data)) return true;  #~ null, integer, float, boolean
		return false; #object or resource
	}
public static function is_ascii($data)
	{
		if (! ReflectionTypeHint::isValid()) return false;
		if (is_array($data))
		{
			foreach ($data as $k => &$v)
			{
				if (! self::is_ascii($k) || ! self::is_ascii($v)) return false;
			}
			return true;
		}
		#ltrim() little faster then preg_match()
		#if (is_string($data)) return preg_match('/^[\x00-\x7f]*$/sSX', $data); #deprecated
		if (is_string($data)) return ltrim($data, "\x00..\x7f") === '';
		if (is_scalar($data) || is_null($data)) return true;  #~ null, integer, float, boolean
		return false; #object or resource
	}
public static function is_ascii ( $ data ) { if ( ! ReflectionTypeHint :: isValid ( ) ) return false ; if ( is_array ( $ data ) ) { foreach ( $ data as $ k => & $ v ) { if ( ! self :: is_ascii ( $ k ) || ! self :: is_ascii ( $ v ) ) return false ; } return true ; } #ltrim() little faster then preg_match()
 #if (is_string($data)) return preg_match('/^[\x00-\x7f]*$/sSX', $data); #deprecated
 if ( is_string ( $ data ) ) return ltrim ( $ data , "\x00..\x7f" ) === '' ; if ( is_scalar ( $ data ) || is_null ( $ data ) ) return true ; #~ null, integer, float, boolean
 return false ; #object or resource
 }
Check the data accessory to the class of characters ASCII.
For null, integer, float, boolean returns TRUE.

Массивы обходятся рекурсивно, если в хотябы одном элементе массива
его значение не ASCII, возвращается FALSE.

@param   array|scalar|null  $data
@return  bool
Check the data accessory to the class of characters ASCII . For null integer float boolean returns TRUE .