<?php
 // === Classe Personnel ===
 class Personnel
 { // -- Les propriétés --
   private $_nom   ;
   private $_prenom;
   // -- Constructeur --
   function __construct($n,$p) {
    $this->nom=$n;$this->prenom=$p;
   }
   public function __clone() {
    $this->nom    = strtoupper($this->nom)   ;
    $this->prenom = strtoupper($this->prenom);
   }
   function ParcoursInterne() {
    foreach($this as $propriete=>$valeur) {echo "$valeur ";}
    echo PHP_EOL;
   }
 }
 // === Programme ===
 $UnePers1 = new Personnel("dupont","jean");
 $UnePers1b= new Personnel("dupont","jean") ;
 $UnePers2 = clone $UnePers1    ;
 $UnePers3 = $UnePers1          ;

 if ($UnePers1 == $UnePers1b) echo 'UnePers1 == $UnePers1b'.PHP_EOL;
 if ($UnePers1 != $UnePers1b) echo 'UnePers1 != $UnePers1b'.PHP_EOL;
 if ($UnePers1 == $UnePers2)  echo 'UnePers1 == $UnePers2'.PHP_EOL;
 if ($UnePers1 != $UnePers2)  echo 'UnePers1 != $UnePers2'.PHP_EOL;
 if ($UnePers1 == $UnePers3)  echo 'UnePers1 == $UnePers3'.PHP_EOL;
 if ($UnePers1 != $UnePers3)  echo 'UnePers1 != $UnePers3'.PHP_EOL;

 if ($UnePers1 === $UnePers1b) echo 'UnePers1 === $UnePers1b'.PHP_EOL;
 if ($UnePers1 !== $UnePers1b) echo 'UnePers1 !== $UnePers1b'.PHP_EOL;
 if ($UnePers1 === $UnePers2)  echo 'UnePers1 === $UnePers2'.PHP_EOL;
 if ($UnePers1 !== $UnePers2)  echo 'UnePers1 !== $UnePers2'.PHP_EOL;
 if ($UnePers1 === $UnePers3)  echo 'UnePers1 === $UnePers3'.PHP_EOL;
 if ($UnePers1 !== $UnePers3)  echo 'UnePers1 !== $UnePers3'.PHP_EOL;
?>
