OOP PHP: Klasifikasikan Markah kepada Gred

7:37 PTG 0 Comments A+ a-




/**
 * Mari Belajar PHP
 * @copyright (c) 2012, Encraptor Inc. All Right Reserved
 * @author  Encraptor@gmail.com

 * @link http://encraption.blogspot.com
 * @version 2.7
 * @desc Class untuk mengklasifikasikan gred daripada markah yg diterima.
 * Fail: kelas_grade.php
 */

class KiraGred
{

    public   $markah;
    private  $kelas_markah;

//Function yang menerima markah, dan memproses markah tersebut kepada
//gred yang telah ditetapkan. .

    function terimaGred($int)
    {
        $this->markah= (int) $int;

         if ($this->markah <= 100 && $this->markah  >= 80)
                {
                $this->kelas_markah='MUMTAZ';
                }
            elseif ($this->markah <= 79 && $this->markah  >=65)
                {
                  $this->kelas_markah='JAYYID JIDDAN';
                }
            elseif ($this->markah <=64  && $this->markah  >= 50)
                {
               $this->kelas_markah='JAYYID';

                }
            elseif ($this->markah <= 49 && $this->markah  >= 40)
                {
                $this->kelas_markah='MAQBUL';

                }
            elseif ($this->markah <= 39 && $this->markah  >= 25)
                {
               $this->kelas_markah='DHAIF';

                }
            elseif ($this->markah <= 24 && $this->markah  >= 01)
                {
                $this->kelas_markah='DHAIF JIDDAN';

                }
            elseif ($this->markah = 0 )
                {
                $this->kelas_markah='TIDAK HADIR';

                }
            else
                {
                $this->kelas_markah='SILA SEMAK KEMASUKAN MARKAH ANDA!';
                }
    }




// Function untk menghantar value Gred yang telah diproses
// daripada function terimaGred.

    function keluarKeputusanGred()
    {
      return $this->kelas_markah;
    }


}

$kira=new KiraGred();

// Hantar markah 65 ke function terimaGred untuk diproses.
$kira->terimaGred(65);

// terima keputusan gred yang dihantar dan display terus result.
echo $kira->keluarKeputusanGred();

// echo $kira->kelas_Markah;  //Saje nak test leh hijack ke tak $kelas_Markah
                              // yang telah di private.




Prinsip KISS Dalam Programming

9:44 PTG 0 Comments A+ a-

 KISS Principal satu term yang seringkali digunakan oleh programmer-programmer yang membawa maksud, "Keep it Simple, Stupid". Dan kadangkala dipanggil sebagai "Keep It Simple and Straightforward".

Bagaimanapun konsep ini hanyalah sekadar fatamorgana bila programmer-programmer hanya membangunkan sistem mengikut apa yang terlintas didalam kepala masing-masing. Sebab itu di Kelantan, orang ramai yang mengatakan, orang IT adalah orang 'Ikut Terlintas'.

Akan ada satu ketika, seseorang akan berkerja terhadap coding yang telah dibuat oleh anda. Oleh kerana mustahil programmer itu berfikir sama seperti  fikiran kita, ia akan menjadi sebagai salah satu learning curve kerana agar sukar bagi dia memahami koding kita, namun ianya tidaklah menjadi masalah bagi seseorang yang genius dalam language tersebut.

Programmer Tanpa Pattern
Jika anda ingin menyambung kerja programmer lain dalam sesuatu sistem, dan soalan pertama yang akan kita tanya, Apa Pattern Yang Digunakan? Jika tiada pattern yang digunakan, anda akan mempunyai kerja shift berdouble-double hanya untuk mencapai sesuatu yang sepatutnya lebih mudah dilakukan jika programmer tersebut menggunapakai pattern standard.

Sesetengah programmer  melihat apa yang mereka lihat dengan cara mereka. Ini akan menyusahkan semua orang kerana tidak semua mampu melihat dengan cara mereka.  Mereka mungkin sangat hebat dalam menyelesaikan algortihm yang sgt kompleks tetapi amat sukar untuk mereka ini memendekkan coding mereka.

Saranan
Saranan termudah adalah, jadikan semua coding mengikut Naming conventions, namakan semua perkara mengikut pattern yang sama. Saya secara peribadi menyukai style camelCase berbanding  stail under_score .  Gunakan semua pattern yang sama, style yang sama. Contoh brackets {}. Jika asalnya brackets berada satu baris dengan arahan, pastikan sama jer sampai akhir sistem. Jika { diletakkan dibawah baris arahan, pastikan stail yang sama digunakan sampai ke akhir sistem. 

Rujukan Utama PHP Style:
- http://framework.zend.com/manual/en/coding-standard.coding-style.html

- http://www.dagbladet.no/development/phpcodingstandard/

Bacaan Tambahan:
- http://net.tutsplus.com/articles/general/9-confusing-naming-conventions-for-beginners/

Lukis diagram dengan nyatakan arahan operasi dalam sistem tersebut. Jika anda lukis sekali jer dan menepati dari sudut flow sistem, maka maknanya anda boleh melakukan sistem ini mengikut flow yang dilukis. Namun jika anda melukis beberapa kali diagram diatas kertas, dan kemudian membuang dalam tong sampah seperti P.Ramlee dalam cerita masam-masam manis, maka  berwaspada dengan lukisan yang terakhir, semua perjalanan sistem yang kita bina nanti akan bergerak dengan licin.

Gunakan framework yang digunapakai. Sekarang ini terlalu banyak frameworks yang digunakan di dalam setiap language, dan framework berada disitu untuk menjadikan kerja coding menjadi mudah dan boleh difahami oleh semua programmer. Standard is there. Dan kebanyakan framework ini sentiasa dipermudahkan, digunapakai dan di baiki dari masa kesemasa. Soalannya, mengapa kita harus menyusahkan diri sendiri dengan coding untuk mereka framework sendiri kononnya, sedang sekarang ini sudah ada framework yang sentiasa dikemaskini?

Gunakan komen yang berguna. Walaupun bijak mana pun anda, sometimes, anda akan tinggalkan sistem yang anda buat ini selama beberapa bulan untuk develop another sistem, dan kemudian bila ada bugs di sistem anda yang lama, anda akan kembali semula menerokai coding-coding tadi. Naming convention banyak membantu untuk anda trace semula coding, namun kaedah terbaik ialah meninggalkan komen yang berguna, untuk memudahkan kerja anda mengingatkan kembali flow coding yang sudah lama anda tinggalkan, dan sekurang-kurangnya ianya berguna untuk diri anda dan juga kepada orang lain suatu hari nanti.

TUJUAN SIMPLE CODING Tujuan untuk kita keeping simple koding kita adalah untuk menggalakkan produktiviti kerana memudahkan untuk bekerja dengan koding sistem itu untuk jangka masa yang panjang.

Keep it Simple, Stupid!


Harus diingat, KISS, "Keep it Simple, Stupid!" Saya jangkakan ramai programmer yang ingin untuk terus bekerja dengan sistem yang ringkas, mudah difahami, tambahan pula untuk system development yang memakan masa yang panjang.

~@author encraptor@gmail.com

. 15/04/2012.

Prinsip-Prinsip OOP Design

7:29 PTG 0 Comments A+ a-

 The Best Pactices for OOD:


Command Query Separation Every method should either be a command that performs an action, or a query that returns data to the caller, but not both.
Hollywood Principal Don't call us, we'll call you
DRY Don't Repeat Yourself
SRP A class should have only one reason to change
Program to an Interface not an Implementation Do not mix relationships to classes, instead mix them to interfaces.
OCP Open/Closed Principal. Classes should be open for extension but not modification
DIP Dependency Inversion Principle: Depend on abstractions rather than concrete classes
YAGNI You Aint Gonna Need It Later. Always implement things when you actually need them.
COC Convention over configuration. Decrease the number of decisions that developers need to make, gaining simplicity without losing flexibility.
Encapsulation Hiding information that could potentially be overwritten
Encapsulate what Varies Separate what varies from what remains the same.
KISS Keep It Super Simple
Loose Coupling The Dependency to which each module relies on each one of the other modules.
Interchangeability The ability to replace an object by another object without affecting code using the it.
Favor Composition over Inheritance Classes become polymorphic and code is reusable by including other classes which implement the desired functionality instead of through inheritance.
Fragile Base Class Seemingly safe modifications to a base class, when inherited by the derived classes, may cause the derived classes to malfunction.
Common Closure Principal Classes that change together must be placed in the same packag

PHP: Type Casting in PHP

7:04 PTG 0 Comments A+ a-

 'test');

echo (int) (7 > 5);     // Output: 1, ie: Calculates as true, outputs 1, 
                        // (int) doesn't do anything in
                        //  this scenario since true
                        // outputs as 1;

echo (int) (5 > 6);     // Output: 0, ie: Calculates as false, result is false, 
                        // (int) turns false into 0;

echo (int) ('CAT' > 'DOG');     // Output: false, The letter D 
        // is a higher value and C
echo (int) ('pig' > 'Pig');     // Output: true, The letter p 
        //is a higher ASCII value than P
?>

OOP PHP: Setter dan Getter

2:01 PG 0 Comments A+ a-

SetNama('Kedai Kek Dahlia'); di luar class.
    public function SetNama($nama)
    {
        // assign Kedai Kek Dahlia ke $nama, dan akan dicapai
        // oleh Getter atau DapatNama()
        $this->nama= $nama;

    }
    // ini namanya Getter. Akan capai value $nama dalam class
    // yang telah diassign oleh SetNama($nama) dengan command
    // $this->nama. return itu maksudnya, dia pulangkan kembali
    // value tersebut kepada si pemanggil di luar kelas yang guna
    // arahan  echo $KedaiKek->DapatNama();

    public function DapatNama()
    {
        return $this->nama;
    }
}


 $KedaiKek=new Kedai();
 $KedaiKek->SetNama('Kedai Kek Dahlia');

//    oleh kerana $nama di class adalah public,
//    kita boleh hijack dia terus assign $nama tanpa perlu
//    masuk ke dalam setNama($nama), seperti command:
//    $KedaiKek->nama='Kedai Kek Ahmad';
//    command $KedaiKek->nama='Kedai Kek Ahmad'; tidak dapat
//    dilaksanakan jika kita set protected $nama di dalam class;

 echo $KedaiKek->DapatNama();


OOP PHP: Kira2 guna OOP Dan Scope (public, private protected)

12:31 PG 0 Comments A+ a-

setInput1(5);
    // dan assign ke $this->input1 dalam bentuk (int)
   function setInput1($int)
    {
        $this->input1 = (int) $int;
     }

    //function  terima nombor 10 dari $kira->setInput1(10);
    // dan assign ke $this->input2 dalam bentuk (int)
  function setInput2($int)
     {
     $this->input2 = (int) $int;
     }

//    Kita boleh buat sekali gus kira hasil dan return, tapi
//    kita pecahkan kepada kiraan di buatKiraan(), dan hasil
//    dicapai oleh dapatJawapanResult()
//    Ini  adalah code asal seblm dipecahkan:
//    function dapatJawapanResult()
//    {
//    $this->hasil = $this->input1 * $this->input2;
//     return $this->hasil;
//    }

     // Input1 yang telah diassign dan input2 dicampur dan
     // di assign kepada $this->hasil . dan ini di run
     // di $kira->buatKiraan();
     function buatKiraan()
     {
      $this->hasil = $this->input1 * $this->input2;
     }

     // $this->hasil akan direturn kepada panggilan
     // echo $kira->dapatJawapanResult();
    function dapatJawapanResult()
    {
     return $this->hasil;
    }


}

$kira=new MesinKira();
$kira->setInput1(5);
$kira->setInput2(10);
$kira->buatKiraan();
echo $kira->dapatJawapanResult();


//oleh kerana kita dah set $hasil di class tadi dengan private, maka
//bila kita set hasil disini siap2, dia akan keluar error kerana
//ianya private,hanya dalam kelas sahaja boleh guna.
//Output: Fatal error: Cannot access private property MesinKira::$hasil
//
//$kira->hasil= 300;
//echo $cal->hasil;

// public       = untuk semua.
// private      = untuk kelas itu sahaja.
// protected    = untuk kelas itu sahaja dan kelas yang extend dgn
//                Skelas itu.

?>

OOP PHP: Pelajaran Asas OOP (2)

10:25 PTG 0 Comments A+ a-

hargaKambing;
        echo '
';
        }

// Function Kaki() akan tayangkan bilangan kaki jika ditanya. namun,
// Albab tiba-tiba bersikap jujur, dan menyatakan variable tempang
// padahal public variable, beliau tidak menyatakan ada tempang.
    function Kaki()
    {
        echo 'Jumlah kaki kambing Ahmad Albab Ini:';
        echo $this->jumlahKaki;
        echo '
';
// value $tempang dinyatakan disini, dan bukan di public variable kerana
// ianya Ahmad Albab baru teringat ada satu kaki tempang, dan nasib baik
// variable itu hanya digunakan di function kaki, so selit kat sini jer lah.

        $tempang=1;
        echo 'Tapi kaki tempang kambing itu ada:'.$tempang;
          echo '
';
    }
// function SebutHarga() adalah memanggil function Harga(); SebutHarga()
// tidak mengandungi arahan kursus, namun semua arahan ada dalam Harga().

    function SebutHarga()
    {
      $this->Harga();
    }

// Function NamaKambingItu() akan tayangkan nama kambing jika ditanya.
    function NamaKambingItu()
    {
        echo 'Nama Kambing ini adalah: ';
        echo $this->namaKambing;
        echo '
';
    }


//        Kita memanggil semua function yang dibuat diatas, dan dipaparkan di
//        biodata kambing ini. Kuikuikui.
//        So, pada biodata kambing ini akan memanggil nama kambing yang telah
//        di proses di NamaKambingItu(), dan memanggil bilangan Kaki yang
//        telah diberitahu oleh Ahmad Albab di Kaki(), serta menayangkan harga
//        yang Ahmad Albab jual dengan murah disebabkan kesempitan duit, harga
//        itu telah dibuat di Harga(); dan dipanggil di biodataKambing()
//        Walaupun semua arahan papar 'echo' ada didalam biodataKambing().
//        Kita masih perlu buat objek di luar kelas untuk panggil iaitu:
//        $NakBeli = new KambingAhmadAlbab(); $NakBeli ->biodataKambing();

    function biodataKambing()
    {
    echo $this->NamaKambingItu();
    echo $this->Kaki();
    echo $this->Harga();
echo '
';

    }



}

$NakBeli = new KambingAhmadAlbab();
$NakBeli ->biodataKambing(); //arahkan biodataKambing() display semua method.
echo "Berapa Harga Kambing itu? 
";
$NakBeli->SebutHarga();  // kita panggil SebutHarga(),SebutHarga akan panggil
                        // Harga() untuk selesaikan operasinya.Lihat Function.

?>

OOP PHP: Pelajaran Asas OOP

8:55 PTG 0 Comments A+ a-

namaIbuKucing;
    }

}


$animal= new Kucing();  // bina objek dalam class Kucing

$animal->Nama();         // cara panggil function.
$animal->namaIbuKucing;  // output: tiada. Kerana tiada echo.
$animal->PanggilIbuKucing(); //output: akan run arahan echo ' dan Nama Ibunya:
                             //'.  $this->namaIbuKucing;


?>

PHP: $_Session

4:38 PG 0 Comments A+ a-

Fail: 7_session_a.php




 7_session_b.php

Destroy session


Fail: 7_session_a.php




 7_session_a.php



PHP: POST, GET Dan REQUEST (Part -3)

4:36 PG 0 Comments A+ a-


// 2- PHP: $_GET['periksa']
// 3- PHP: $_POST['nama'] dan $_POST['mesej']
// 4- BARU! PHP: Adalah digalakkan menggunakan REQUEST berbanding POST.
// $_REQUEST variable contains the contents of both $_GET, $_POST & $_COOKIE. 

/* Gantikan $_REQUEST keatas $_post. */

if (isset($_GET['periksa']))
		{
		echo $_REQUEST['nama'];
		echo '
'; echo $_REQUEST['mesej']; echo '
'; //strip_tags akan clear HTML yg user input. echo strip_tags($_REQUEST['mesej']); echo '
'; // htmlentities akan paparkan language HTML yg user masukkan. // contoh output:
HOI! echo htmlentities($_REQUEST['mesej']); } /* Selain itu, boleh juga ganti $_REQUEST keatas $_GET. if (isset($_REQUEST['periksa'])) { echo $_REQUEST['nama']; echo '
'; echo $_REQUEST['mesej']; } */ //boleh gunakan strip_tags untuk remove HTML language dari user yg cuba masukkan // HTML dalam field mesej. echo strip_tags($_REQUEST['mesej']; ?>
Nama Pelajar:
Message:

PHP: POST, GET Dan REQUEST (Part -2)

4:35 PG 0 Comments A+ a-



// 2- PHP: $_GET['periksa']
// 3- PHP: $_POST['nama'] dan $_POST['mesej']
if (isset($_GET['periksa']))
		{
		echo $_POST['nama'];
		echo '
';
		echo $_POST['mesej'];
			
		}

?>

Nama Pelajar: Message:

PHP: POST, GET Dan REQUEST (Part -1)

12:10 PG 0 Comments A+ a-

';
echo $_GET['umur'];



?>







Basic PHP: Manipulasi String

9:59 PTG 0 Comments A+ a-

'; foreach ($Emails as $Email) { 	echo '
  • ' . trim($Email) . '
  • '; } echo ''; /* Berikut antara arahan yang kita boleh manipulate: trim() Removes whitespace at beginning and end of a string. ltrim() Removes whitespace at the beginning of a string. rtrim() Removes whitespace at the end of a string. Presentation Function Description htmlentities() Escapes all HTML entities. nl2br() Inserts a tag before each newline character in a string. strtoupper() Converts a string to uppercase. strtolower() Converts a string to lowercase. ucfirst() Converts the first character of a string to uppercase. ucwords() Converts the first character of each word in a string to uppercase. Converting Strings and Arrays Function Description explode() Splits a string into an array on a specified character or group of characters. implode() Converts an array into a string, placing a specified character or group of characters between each array element. join() Same as implode(). Substrings Function Description substr(str,pos) Returns the substring from the character in position pos to the end of the string. substr(str,-len) Returns the substring from len characters from the end of the string to the end of the string. substr(str,pos,len) Returns a len length substring beginning with the character in position pos. substr(str,pos,-len) Returns a substring beginning with the character in position pos and chopping off the last len characters of the string. strstr(haystack,needle,before_needle) If the third argument (before_needle) is false (default), then it returns the part of the haystack from the needle on. If the third argument (before_needle) is true, then it returns the part of the haystack before the needle. The needle can be a string or an integer (or a number that can be converted to an integer). stristr(haystack,needle,before_needle) Same as strstr(), but case insensitive. strpos(haystack,needle) Finds the position of the first occurrence of a specified needle in a haystack (string). The needle can be a string or an integer (or a number that can be converted to an integer). strrpos(haystack,needle) Finds the position of the last occurrence of a specified needle in a haystack (string). The needle can be a string or an integer (or a number that can be converted to an integer). str_replace() Replaces all occurrences of one string with another string. Comparing Strings Function Description strcmp() Compares two strings. Returns < 0 if str1 is less than str2, > 0 if str1 is greater than str2, and 0 if they are equal. strcasecmp() Like strcmp() but case insensitive. strlen() Returns the length of a string. */ ?>

    Basic PHP: Switch dan Ternary Operator

    9:04 PTG 0 Comments A+ a-

    1) {echo true;}
    
    switch ()
    {
    }
     */
    echo '

    '; $age=12; switch ($age) { case 10: echo '10'; case 12: echo '12'; //kena letak break; kat sini, // kalau tidak dia akan run juga case kucing //output: 12kucing. case 'kucing': echo ' kucing'; break; } // jika kita guna if/elseif run hanya sekali sahaja, // output dibawah adalah :12 // walaupun 12==12 adalah true; // tapi hanya ($age==12) sahaja dia run untuk display. // so untuk run penyataan bnyk, leh guna switch. echo '

    '; $kacang=12; if ($kacang==12) echo 'kacang 12'; elseif(12==12) echo 'yeah'; echo '

    '; // ini pula untuk kegunaan default sekiranya pilihan tidak // ada dalam case. $umur=10; switch ($umur) { case '15': echo 15; break; //default akan dijalankan sekiranya pilihan tiada dalam case. default: echo 'Umur Tidak Dipilih.Sila Pilih Semula'; break; } ?>

    Basic PHP: Comparison

    1:33 PTG 0 Comments A+ a-

    ';
    else 
    	echo 'Sample 1: Tu adalah Mail Lambung'. '
    '; //Sample 2= Penggunaan !$name $samseng2= 'Mail Lambung'; //menunjukkan TRUE // maksud !$samseng= Jika TIDAK $SAMSENG, atau // $samseng adalah FALSE if (!$samseng2) //menunjukkan FALSE echo 'Sample 2: Tu bukan Mail Lambung Tapi Acai'. '
    '; else echo 'Sample 2: Tu Mail Lambung'. '
    '; //Sample 3= Penggunaan !$name (TRUE,FALSE) $nama= true ; //menunjukkan TRUE // maksud !$nama= Jika TIDAK $SAMSENG, atau // $samseng adalah FALSE if (!$nama) //menunjukkan FALSE echo 'Sample 3: FALSE'. '
    '; //dia check, $nama!=$nama, so dia gi else. else echo 'Sample 3: TRUE'. '
    '; //dia akan cari $nama=$nama // Sample 4= Comparison main dgn nombor. if (10>100) echo 'Sample 4: 10>100' . '
    '; //dia cari logik, so mustahil 10>100, dia gi else. else echo 'Sample 4: 10 <100 lah!'. '
    '; // Penggunaan Tanda && (kedua-dua penyataan mesti cukup betul) if (110 > 100 && 5 < 10) echo 'Sample 5: Penyataan ini KEDUA-DUA PERBANDINGAN ADALAH BETUL'. '
    '; else echo 'Sample 5: Penyataan ini KEDUA-DUA PERBANDINGAN ADALAH TIDAK BETUL '. '
    '; if (110 > 100 && 11 < 10) echo 'Sample 6: Penyataan ini KEDUA-DUA PERBANDINGAN ADALAH BETUL'. '
    '; else echo 'Sample 6: Penyataan ini TIDAK CUKUP SYARAT UNTUK MENJADIKAN KEDUA-KEDUA ADALAH BETUL'. '
    '; // Penggunaan Tanda || (kedua-dua penyataan mesti cukup betul) if (110 > 100 || 11 < 10) echo 'Sample 7: Penyataan ini SALAH SATU ADALAH BETUL'. '
    '; else echo 'Sample 7: Penyataan ini KEDUA-DUA PERBANDINGAN ADALAH TIDAK BETUL '. '
    '; if (110 < 100 || 11 < 10) echo 'Sample 8: Penyataan ini SALAH SATU ADALAH BETUL'. '
    '; else echo 'Sample 8: Penyataan ini KEDUA-DUA PERBANDINGAN ADALAH TIDAK BETUL '. '
    '; ?>

    Basic PHP: IF ELSEIF Dan ELSE

    12:45 PTG 0 Comments A+ a-

    ';
    }
    
    // Sample 2: Penggunaan If & Else untuk hanya dua comparison.
    $ajk = 'Sansudin';
    
    if ($ajk=='Ibrahim')
    {
    	echo 'Sample 2: Ini echo sekiranya $ajk adalah Ibrahim'.'
    '; } else { echo 'Sample 2: Ini echo else sekiranya $ajk adalah Sansudin'.'
    '; } // Sample 3: Penggunaan if, elseif dan else untuk lebih dua comparisan $leader = 'Ismail'; if ($leader=='Ahmad') { echo 'Sample 3: Ini echo sekiranya $leader adalah Ahmad'.'
    '; } // letak sini elseif {} kemudian baru isi. // letak depan elseif tu () biar jadi elseif() // masukkan condition dalam elseif(bla bla== bla bla ) elseif ($leader=='Ismail') { echo 'Sample 3: Ini echo elseif sekiranya $leader Ismail'.'
    '; } else { echo 'Sample 3: Ini echo else sekiranya $leader bukan Sansudin'.'
    '; } //Perbandingan setiap satu $lokasi='PWTC'; if ($lokasi == 'KLCC') echo 'Sample 4: Lokasi di KLCC'.'
    '; elseif ($lokasi == 'PWTC') echo 'Sample 4: Lokasi di PWTC'.'
    '; else echo 'Sample 4: Lokasi Tidak Diketahui'.'
    '; ?>

    Basic PHP: Foreach

    10:43 PG 0 Comments A+ a-

    ';
    }
     
    echo '

    '; $minuman = array ( 'Geng Kayo'=> 'Minuman Hotel', 'Geng Suka Lepak' => 'Minuman Kedai Mamak', 'Geng Sukan' => 'Minuman Tin' ); // SAMPLE 2: setiap dari array minuman sebagai $nilai foreach ($minuman as $geng=>$nilai) { echo $geng . ' SUKA '. $nilai . '
    '; } echo '

    '; // SAMPLE 3: Array dalam Array $makanan = array ( 'KEREPOK LEKOR', 'MAGGI', 'MASAKAN PANAS'=> array( 'Nasi Goreng Paprik', 'Nasi Goreng USA', 'Nasi Goreng Kerabu' ) ); foreach ( $makanan as $key => $value ) { if (is_array ( $value )) { foreach ( $value as $sub => $subsub ) { echo '    '. $sub . ' ' . $subsub . '
    '; } } else { echo $key . ' ' . $value . '
    '; } } ?>

    Basic PHP: Loop Guna While

    10:10 PG 0 Comments A+ a-

    ';  //execute arahan
    	++$i;               //increment disini    
    }
    
    
    

    Basic PHP: Loop Guna For

    10:01 PG 0 Comments A+ a-

    
    ';
    }
    

    Basic PHP: Bermain Nombor Rawak Seperti Dadu

    8:30 PG 0 Comments A+ a-

    Fail: 2_random_dadu_a.php
    
    
    
    Fail: 2_random_dadu_b.php
    
    ';
    }
    
    function MainDadu2 ($totalNoDadu2 = 6)
    {
    	echo rand(1,$totalNoDadu2).'
    '; } ?>

    Basic PHP: Arahan Return

    7:47 PG 0 Comments A+ a-

    Fail: 2_return_a.php
    
    
    ';  //output:5
    
    /* Sample kedua, passing siap-siap ke function. 
    Di function capture nombor yang dipassing kemudian tambah 10
     */
    $valueDariReturn2= MainDgnReturn2(27);
    echo $valueDariReturn2. '
    '; //output:37 (27+10 dari function) /* sample ketiga, mintak nama dari function. dan function hantar nama yang diminta. */ $namaAhli= ahliKelas6Melur(); echo $namaAhli;



    Fail: 2_return_b.php
    
    

    Basic PHP: Function Dengan Argument

    6:53 PG 0 Comments A+ a-

    Fail :2_function_argument_a.php

    
    '; di MainNombor(). Ini adalah function
    tanpa argument. */
    
    MainNombor();   //output: 1
    
    /* Jika kita tidak passing nombor di MainFunction_Argument, error akan keluar
    seperti dibawah:
    Warning: Missing argument 1 for MainFunction_Argument(),  */
    
    MainFunction_Argument1(9227); //output:9227
    
    /* kita guna MainFunction_Argument2 yang mengandungi arahan 
    supaya nombor yang dipassing ditambah pula dgn 3, menjadikan
    result yg dipapar adalah 9230.
     */
      MainFunction_Argument2(9227); //output:9230 (9227+3)
      
      /* jika kita tidak mahu value dari sini, sila set siap2 di
      function yang akan dipanggil iaitu kita set siap2:
      function MainFunction_Argument3($nombor=18)
      */
      
      MainFunction_Argument3(); //output:18
      
    


    Fail:2_function_argument_b.php
    
    
    ';
    }
    
    
    
    function MainFunction_Argument1($nombor)
    {
    	echo $nombor. '
    '; } function MainFunction_Argument2($nombor) { echo $nombor+3 . '
    '; } function MainFunction_Argument3($nombor=18) { echo $nombor . '
    '; }

    Basic PHP: Include

    10:23 PTG 0 Comments A+ a-

    2_include_a.php
    
    ';
    };
    
     */
    
    
    
    2_include_b.php
    ';
    
    
    ';
    };
    
    
    
    

    Basic PHP: Function

    8:05 PTG 0 Comments A+ a-

    
    
    ';
    echo 1 . '
    '; echo 1 . '
    '; echo 1 . '
    '; echo 1 . '
    '; Result akan keluar: 1 1 1 1 1 */ //Sekarang kita akan guna function... function BuatNombor() //namakan function ini kepada BuatNombor() { //letak statement yg nak dilaksanakan echo 1 . '
    '; }; BuatNombor(); //panggil function diatas. Nak lagi mudah, kita gunakan loop. Loop akan dicover next lesson ok? :-) BuatNombor(); BuatNombor(); BuatNombor(); BuatNombor();

    Basic PHP: Array

    5:51 PTG 0 Comments A+ a-

     VALUE
    
    $names = array (
    	0 =>	'Abu',
    	1 =>	'Ali',
    	2 =>	'Ahmad',
    	3 =>	'Saad'
    );
     */
    
    //$names= array();
    
    $nama_bapak = array (
    		'Abu',
    		'Ali',
    		'Ahmad',
    		'Saad' 
    );
    
    // panggil array baris kedua. Ingat, baris pertama adalah id 0, manakala baris kedua adalah id 1.
    echo $nama_bapak[1]. '

    '; // Jika kita sort, nombor yang diassign akan berubah mengikut sorting. sort($nama_bapak); echo $nama_bapak[1]. '

    '; /* Kita juga boleh untuk tidak menggunakan nombor ID, kita meletakkan nama panggilan pada no ID tadi, contoh adalah seperti no id satu, kita ubah menjadi Anak Sulong. */ $nama_anak= array ( 'Anak sulong'=>'Melati', 'Anak ke-2' =>'Cempaka', 'Anak Ke-3'=> 'Merpati', 'Anak Tak Sedar Dek Untung' =>'Tanjung' ); //panggil menggunakan nama panggilan yang telah diassign tadi. Echo $nama_anak['Anak Tak Sedar Dek Untung'];

    Basic PHP: String dan Variable

    8:51 PG 0 Comments A+ a-