(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7, PHP 8)
ldap_modify_batch — Executa modificações em lote em uma entrada LDAP
$ldap,$dn,$modifications_info,$controls = nullModifica uma entrada existente no diretório LDAP. Permite especificação detalhada das modificações que serão realizadas.
ldapUm recurso LDAP, retornado por ldap_connect().
dnO nome distinto de uma entidade LDAP.
modifications_info
       Um array que especifica as modificações a realizar. Cada entrada neste
       array é um array associativo com duas ou três chaves:
       attrib corresponde ao nome do atributo a modificar,
       modtype corresponde ao tipo de modificação a realizar
       e, dependendo do tipo de modificação, values
       corresponde a um array de valores de atributo relevantes para a modificação.
      
       Valores possíveis para modtype incluem:
       
LDAP_MODIFY_BATCH_ADD
           Cada valor especificado por values é adicionado (como
           um valor adicional) ao atributo nomeado por
           attrib.
          
LDAP_MODIFY_BATCH_REMOVE
           Cada valor especificado por values é removido
           do atributo nomeado por attrib. Qualquer valor do
           atributo não contido no array values
           não será afetado.
          
LDAP_MODIFY_BATCH_REMOVE_ALL
           Todos os valores são removidos do atributo nomeado por
           attrib. Uma entrada values não
           pode ser fornecida.
          
LDAP_MODIFY_BATCH_REPLACE
           Todos os valores atuais do atributo nomeado por
           attrib são substituídos pelos valores especificados
           por values.
          
       Observe que qualquer valor para attrib precisa ser uma string, qualquer
       valor para values precisa ser um array de strings e
       qualquer valor para modtype precisa ser uma das
       constantes LDAP_MODIFY_BATCH_* listadas acima.
      
controlsArray de Controles LDAP a enviar com a requisição.
| Versão | Descrição | 
|---|---|
| 8.1.0 | O parâmetro ldapagora espera uma instância de LDAP\Connection;
  anteriormente, um resourceldap linkválido era esperado. | 
| 8.0.0 | O parâmetro controlsagora pode ser nulo; anteriormente, o padrão era[]. | 
| 7.3.0 | Adicionado suporte para controls. | 
Exemplo #1 Adiciona um número de telefone a um contato
<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "telephoneNumber",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["+1 555 555 1717"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>Exemplo #2 Renomeia um usuário
<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "sn",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Smith-Jones"],
    ],
    [
        "attrib"  => "givenName",
        "modtype" => LDAP_MODIFY_BATCH_REPLACE,
        "values"  => ["Jack"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>Exemplo #3 Adiciona dois endereços de e-mail a um usuário
<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "mail",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [
            "jack.smith@example.com",
            "jack.smith-jones@example.com",
        ],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>Exemplo #4 Muda uma senha de usuário
<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => ["Tr0ub4dor&3"],
    ],
    [
        "attrib"  => "userPassword",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => ["correct horse battery staple"],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);
?>Exemplo #5 Muda uma senha de usuário (Diretório Ativo)
<?php
function adifyPw($pw)
{
    return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_REMOVE,
        "values"  => [adifyPw("Tr0ub4dor&3")],
    ],
    [
        "attrib"  => "unicodePwd",
        "modtype" => LDAP_MODIFY_BATCH_ADD,
        "values"  => [adifyPw("correct horse battery staple")],
    ],
];
ldap_modify_batch($connection, $dn, $modifs);