"Bantinglah otak untuk mencari ilmu sebanyak-banyaknya guna mencari rahasia besar yang terkandung di dalam benda besar yang bernama dunia ini, tetapi pasanglah pelita dalam hati sanubari, yaitu pelita kehidupan jiwa." ( Al- Ghazali )
Kodokop. Powered by Blogger.

Comparing Objects Dalam PHP


Dalam PHP 5, objek perbandingan lebih rumit daripada di PHP 4 dan lebih sesuai dengan apa yang akan diharapkan dari Object Oriented Language (bukan karena PHP 5 adalah bahasa seperti itu). Bila menggunakan operator perbandingan (==), variabel objek dibandingkan dengan cara yang sederhana, yaitu: Dua contoh objek yang sama jika mereka memiliki atribut dan nilai-nilai yang sama, dan contoh dari class yang sama. Di sisi lain, ketika menggunakan operator identitas (===), variabel objek identik apabila dan hanya jika mereka mengacu pada contoh yang sama dari kelas yang sama.


Intinya dalam PHP kita dapat membandingkan dua objek, yaitu dengan operator pembanding “==” dan operator identitas “===”. Dengan operator pembanding, dua objek adalah sama jika mempunyai variabel dan isi yang sama serta merupakan objek dari class yang sama.
Sebuah contoh akan menjelaskan aturan-aturan ini.

Contoh # 1 Contoh objek perbandingan di PHP 5



<?
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSE';
    } else {
        return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Two instances of the same class\n";
compareObjects($o, $p);

echo "\nTwo references to the same instance\n";
compareObjects($o, $q);

echo "\nInstances of two different classes\n";
compareObjects($o, $r);
?>

//Contoh di atas akan menghasilkan output:
//Dua contoh dari class yang sama
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

//Dua referensi untuk contoh yang sama
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

//Turunan dari dua class yang berbeda
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
 
Labels: pemograman, php

Thanks for reading Comparing Objects Dalam PHP. Please share...!

0 Comment for "Comparing Objects Dalam PHP"

Jangan lupa komentarnya

Back To Top