array( '0[a] ### ####', '(0[a]) ### ####', '0[a]-###-####', '(0[a])###-####', '84-[a]-###-####', '(84)([a])###-####', '+84-[a]-###-####', ), '8' => array( '0[a] #### ####', '(0[a]) #### ####', '0[a]-####-####', '(0[a])####-####', '84-[a]-####-####', '(84)([a])####-####', '+84-[a]-####-####', ), ); public static function phoneNumber() { $areaCode = static::randomElement(static::$areaCodes); $areaCodeLength = strlen($areaCode); $digits = 7; if ($areaCodeLength < 2) { $digits = 8; } return static::numerify(str_replace('[a]', $areaCode, static::randomElement(static::$formats[$digits]))); } }