(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 ldapattend désormais une instance de
  LDAP\Connection ; auparavant, une ressource était attendu. | 
| 8.0.0 | controlsest désormais nullable ; auparavant, sa valeur par défaut était[]. | 
| 7.3 | Support pour controlsa é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 !