(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Compare une entrée avec des valeurs d'attributs
$ldap,$dn,$attribute,$value,$controls = null
   Sert à comparer la valeur value de l'attribut
   attribute à la valeur du même attribut de l'entrée
   dn.
  
ldapUne instance LDAP\Connection, retourné par ldap_connect().
dnLe DN de l'entrée LDAP.
attributeLe nom de l'attribut.
valueLa valeur comparée.
controlsTableau de Contrôles LDAP à envoyer avec la requête.
   Retourne true si la valeur value correspond, sinon,
   retourne false. Retourne -1 si une erreur survient.
  
| Version | Description | 
|---|---|
| 8.1.0 | 
  Le paramètre ldap attend désormais une instance de
  LDAP\Connection ; auparavant, une ressource était attendu.
  | 
| 8.0.0 | 
  controls est désormais nullable ; auparavant, sa valeur par défaut était [].
  | 
| 7.3 | 
        Support pour controls a été ajouté.
        | 
      
L'exemple suivant montre comment vérifier que deux mots de passe correspondent, dont l'un est celui d'une entrée du serveur LDAP.
Exemple #1 Exemple complet de vérification de mot de passe avec lDAP
<?php
$ds=ldap_connect("localhost");  // doit être un serveur LDAP valide!
if ($ds) {
    // Authentification
    if (ldap_bind($ds)) {
        // Préparation des données
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";
        // Comparaison des valeurs
        $r=ldap_compare($ds, $dn, $attr, $value);
        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Mal choisi ! Mot de passe incorrect !";
        }
    } else {
        echo "Impossible de se connecter au serveur LDAP.";
    }
    ldap_close($ds);
} else {
    echo "Impossible de se connecter au serveur LDAP.";
}
?>
ldap_compare() ne peut PAS être utilisé pour comparer des valeurs binaires !