Last active
December 31, 2021 11:13
-
-
Save ammaridris/887ad2a84b79906e4b5f to your computer and use it in GitHub Desktop.
Paparan Maklumat Tarikh Lahir, Umur, Negeri & Jantina Daripada Kad Pengenalan Menggunakan PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$no_ic = 871118077020; //CONTOH NO IC 871118077020 | |
$tmp_hari = substr($no_ic,4,2); | |
$tmp_bulan = substr($no_ic,2,2); | |
$tmp_tahun = substr($no_ic,0,2); | |
$tmp_negeri = substr($no_ic,6,2); | |
$tmp_jantina = substr($no_ic,11,1); | |
//TARIKH LAHIR////////////////////////////////////// | |
if($tmp_tahun >= 00 && $tmp_tahun <= 30) { | |
$tmp_tahun = 2000+$tmp_tahun; | |
} | |
if($tmp_tahun >= 31 && $tmp_tahun <= 99) { | |
$tmp_tahun = 1900+$tmp_tahun; | |
} | |
$tarikh_lahir = $tmp_hari."/".$tmp_bulan."/".$tmp_tahun; | |
//UMUR////////////////////////////////////// | |
$tmp_tarikh_lahir = $tmp_tahun."-".$tmp_bulan."-".$tmp_hari;; | |
$umur = date_create($tmp_tarikh_lahir)->diff(date_create('today'))->y; | |
//NEGERI////////////////////////////////////// | |
//Sumber Kod Negeri : http://www.jpn.gov.my/informasi/kod-negeri/ | |
//Untuk Kod Negara : http://www.jpn.gov.my/en/informasi/kod-negara/ | |
$kod_negeri = array( | |
'01'=>"Johor", | |
'21'=>"Johor", | |
'22'=>"Johor", | |
'23'=>"Johor", | |
'24'=>"Johor", | |
'02'=>"Kedah", | |
'25'=>"Kedah", | |
'26'=>"Kedah", | |
'27'=>"Kedah", | |
'03'=>"Kelantan", | |
'28'=>"Kelantan", | |
'29'=>"Kelantan", | |
'04'=>"Melaka", | |
'30'=>"Melaka", | |
'05'=>"Negeri Sembilan", | |
'31'=>"Negeri Sembilan", | |
'59'=>"Negeri Sembilan", | |
'06'=>"Pahang", | |
'32'=>"Pahang", | |
'33'=>"Pahang", | |
'07'=>"Pulau Pinang", | |
'34'=>"Pulau Pinang", | |
'35'=>"Pulau Pinang", | |
'08'=>"Perak", | |
'36'=>"Perak", | |
'37'=>"Perak", | |
'38'=>"Perak", | |
'39'=>"Perak", | |
'09'=>"Perlis", | |
'40'=>"Perlis", | |
'10'=>"Selangor", | |
'41'=>"Selangor", | |
'42'=>"Selangor", | |
'43'=>"Selangor", | |
'44'=>"Selangor", | |
'11'=>"Terengganu", | |
'45'=>"Terengganu", | |
'46'=>"Terengganu", | |
'12'=>"Sabah", | |
'47'=>"Sabah", | |
'48'=>"Sabah", | |
'49'=>"Sabah", | |
'13'=>"Sarawak", | |
'50'=>"Sarawak", | |
'51'=>"Sarawak", | |
'52'=>"Sarawak", | |
'53'=>"Sarawak", | |
'14'=>"Wilayah Persekutuan Kuala Lumpur", | |
'54'=>"Wilayah Persekutuan Kuala Lumpur", | |
'55'=>"Wilayah Persekutuan Kuala Lumpur", | |
'56'=>"Wilayah Persekutuan Kuala Lumpur", | |
'57'=>"Wilayah Persekutuan Kuala Lumpur", | |
'15'=>"Wilayah Persekutuan Labuan", | |
'58'=>"Wilayah Persekutuan Labuan", | |
'16'=>"Wilayah Persekutuan Putrajaya", | |
'82'=>"Lain-Lain" | |
); | |
$negeri_lahir=$kod_negeri[$tmp_negeri]; | |
//JANTINA////////////////////////////////////// | |
if($tmp_jantina % 2 == 0) { | |
$jantina = 'Perempuan'; | |
} | |
else { | |
$jantina = 'Lelaki'; | |
} | |
//PAPARAN OUTPUT////////////////////////////////////// | |
echo "Tarikh Lahir: ".$tarikh_lahir; | |
echo "<br />Umur: ".$umur; | |
echo "<br />Negeri: ".$negeri_lahir; | |
echo "<br />Jantina: ".$jantina; | |
?> |
Kena ubah semula coding tu, kalau tuan ada coding yg betul boleh share di sini.
Tapi logiknya, ic mula 15 ni yang lahir 2015, tak pasti lah kalau yg lahir 1915 ic baru dia mcm mana (kalau ada lah)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Cuba anda test guna no IC yang ini
150308-10-1234
Tuan punya diri lahir pada tahun 1915. Oleh itu, umur beliau pada tahun 2020 ialah 105 tahun.
Tapi, formula di atas akan jadi tahun 2015 dan beliau menjadi seusia 5 tahun.