<?php
class Klasemen
{
private $poinKlub = [ ] ;
public function __construct( $daftarKlub )
{
foreach ( $daftarKlub as $klub ) {
$this -> poinKlub [ $klub ] = 0 ;
}
}
public function catatPermainan( $klubKandang , $klubTandang , $skor )
{
}
list ( $skorKandang , $skorTandang ) = explode ( ':' , $skor ) ; $skorKandang = ( int) $skorKandang ;
$skorTandang = ( int) $skorTandang ;
if ( $skorKandang > $skorTandang ) {
$this -> poinKlub [ $klubKandang ] += 3 ;
} elseif ( $skorKandang < $skorTandang ) {
$this -> poinKlub [ $klubTandang ] += 3 ;
} else {
$this -> poinKlub [ $klubKandang ] += 1 ;
$this -> poinKlub [ $klubTandang ] += 1 ;
}
}
public function cetakKlasemen( )
{
return $this -> poinKlub ;
}
public function ambilPeringkat( $peringkat )
{
$klasemen = $this -> cetakKlasemen ( ) ;
if ( $peringkat < 1 || $peringkat > count ( $klubList ) ) { return null ;
}
return $klubList [ $peringkat - 1 ] ;
}
}
$klasemen = new Klasemen( [ 'Liverpool' , 'Chelsea' , 'Arsenal' ] ) ;
$klasemen -> catatPermainan ( 'Arsenal' , 'Liverpool' , '2:1' ) ;
$klasemen -> catatPermainan ( 'Arsenal' , 'Chelsea' , '1:1' ) ;
$klasemen -> catatPermainan ( 'Chelsea' , 'Arsenal' , '0:3' ) ;
$klasemen -> catatPermainan ( 'Chelsea' , 'Liverpool' , '3:2' ) ;
$klasemen -> catatPermainan ( 'Liverpool' , 'Arsenal' , '2:2' ) ;
$klasemen -> catatPermainan ( 'Liverpool' , 'Chelsea' , '0:0' ) ;
$klasemen -> catatPermainan ( 'Barcelona' , 'Madrid' , '0:0' ) ;
print_r ( $klasemen -> cetakKlasemen ( ) ) ;
echo 'Peringkat ke-2: ' . $klasemen -> ambilPeringkat ( 2 ) ;
PD9waHAKCmNsYXNzIEtsYXNlbWVuCnsKICAgIHByaXZhdGUgJHBvaW5LbHViID0gW107CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYWZ0YXJLbHViKQogICAgewogICAgICAgIGZvcmVhY2ggKCRkYWZ0YXJLbHViIGFzICRrbHViKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luS2x1Ylska2x1Yl0gPSAwOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2F0YXRQZXJtYWluYW4oJGtsdWJLYW5kYW5nLCAka2x1YlRhbmRhbmcsICRza29yKQogICAgewogICAgCWlmIChpbl9hcnJheSgka2x1YkthbmRhbmcpICYmIGluX2FycmF5KCRrbHViVGFuZGFuZykpIHsKICAgIAkJZXhpdCgpOwogICAgCX0KICAgIAkKICAgICAgICBsaXN0KCRza29yS2FuZGFuZywgJHNrb3JUYW5kYW5nKSA9IGV4cGxvZGUoJzonLCAkc2tvcik7CiAgICAgICAgJHNrb3JLYW5kYW5nID0gKGludCkkc2tvckthbmRhbmc7CiAgICAgICAgJHNrb3JUYW5kYW5nID0gKGludCkkc2tvclRhbmRhbmc7CgogICAgICAgIGlmICgkc2tvckthbmRhbmcgPiAkc2tvclRhbmRhbmcpIHsKICAgICAgICAgICAgJHRoaXMtPnBvaW5LbHViWyRrbHViS2FuZGFuZ10gKz0gMzsKICAgICAgICB9IGVsc2VpZiAoJHNrb3JLYW5kYW5nIDwgJHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luS2x1Ylska2x1YlRhbmRhbmddICs9IDM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPnBvaW5LbHViWyRrbHViS2FuZGFuZ10gKz0gMTsKICAgICAgICAgICAgJHRoaXMtPnBvaW5LbHViWyRrbHViVGFuZGFuZ10gKz0gMTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNldGFrS2xhc2VtZW4oKQogICAgewogICAgICAgIGFyc29ydCgkdGhpcy0+cG9pbktsdWIpOwogICAgICAgIHJldHVybiAkdGhpcy0+cG9pbktsdWI7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFtYmlsUGVyaW5na2F0KCRwZXJpbmdrYXQpCiAgICB7CiAgICAgICAgJGtsYXNlbWVuID0gJHRoaXMtPmNldGFrS2xhc2VtZW4oKTsKICAgICAgICAka2x1Ykxpc3QgPSBhcnJheV9rZXlzKCRrbGFzZW1lbik7CgogICAgICAgIGlmICgkcGVyaW5na2F0IDwgMSB8fCAkcGVyaW5na2F0ID4gY291bnQoJGtsdWJMaXN0KSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAka2x1Ykxpc3RbJHBlcmluZ2thdCAtIDFdOwogICAgfQp9Cgoka2xhc2VtZW4gPSBuZXcgS2xhc2VtZW4oWydMaXZlcnBvb2wnLCAnQ2hlbHNlYScsICdBcnNlbmFsJ10pOwoKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQXJzZW5hbCcsICdMaXZlcnBvb2wnLCAnMjoxJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0Fyc2VuYWwnLCAnQ2hlbHNlYScsICcxOjEnKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQ2hlbHNlYScsICdBcnNlbmFsJywgJzA6MycpOwoka2xhc2VtZW4tPmNhdGF0UGVybWFpbmFuKCdDaGVsc2VhJywgJ0xpdmVycG9vbCcsICczOjInKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignTGl2ZXJwb29sJywgJ0Fyc2VuYWwnLCAnMjoyJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0xpdmVycG9vbCcsICdDaGVsc2VhJywgJzA6MCcpOwoka2xhc2VtZW4tPmNhdGF0UGVybWFpbmFuKCdCYXJjZWxvbmEnLCAnTWFkcmlkJywgJzA6MCcpOwoKCnByaW50X3IoJGtsYXNlbWVuLT5jZXRha0tsYXNlbWVuKCkpOwoKZWNobyAnUGVyaW5na2F0IGtlLTI6ICcgLiAka2xhc2VtZW4tPmFtYmlsUGVyaW5na2F0KDIpOwo=
stdout
Array
(
[Arsenal] => 8
[Chelsea] => 5
[Liverpool] => 2
[Barcelona] => 1
[Madrid] => 1
)
Peringkat ke-2: Chelsea
stderr
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Warning: in_array() expects at least 2 parameters, 1 given in /home/19VFvS/prog.php on line 16
PHP Notice: Undefined index: Barcelona in /home/19VFvS/prog.php on line 29
PHP Notice: Undefined index: Madrid in /home/19VFvS/prog.php on line 30