generator->parse($lastNameRandomElement); } /** * Return last name for male * * @access public * @return string last name */ public static function lastNameMale() { return static::randomElement(static::$lastNameMale); } /** * Return last name for female * * @access public * @return string last name */ public static function lastNameFemale() { return static::randomElement(static::$lastNameFemale); } /** * For academic title * * @access public * @return string suffix */ public static function suffix() { return static::randomElement(static::$suffix); } /** * Generates Nomor Induk Kependudukan (NIK) * * @link https://en.wikipedia.org/wiki/National_identification_number#Indonesia * * @param null|string $gender * @param null|\DateTime $birthDate * @return string */ public function nik($gender = null, $birthDate = null) { # generate first numbers (region data) $nik = $this->generator->numerify('######'); if (!$birthDate) { $birthDate = $this->generator->dateTimeBetween(); } if (!$gender) { $gender = $this->generator->randomElement(array(self::GENDER_MALE, self::GENDER_FEMALE)); } # if gender is female, add 40 to days if ($gender == self::GENDER_FEMALE) { $nik .= $birthDate->format('d') + 40; } else { $nik .= $birthDate->format('d'); } $nik .= $birthDate->format('my'); # add last random digits $nik.= $this->generator->numerify('####'); return $nik; } }