Bonjour à tous,

Je me creuse la tête depuis un moment sur un tableau associatif dans lequel je voudrais aller chercher seulement certaines valeurs mais je n'y parviens pas, en fait j'obtiens que des erreurs, je pense que ma méthode est mauvaise mais je n'arrive pas à trouver de solution

je voudrais seulement récuperer le [dn]

Voici ce que donne le tableau

Array
(
    [count] => 3648
    [0] => Array
        (
            [sn] => Array
                (
                    [count] => 1
                    [0] => nom
                )

            [0] => sn
            [givenname] => Array
                (
                    [count] => 1
                    [0] => prénom
                )

            [1] => givenname
            [mail] => Array
                (
                    [count] => 1
                    [0] => mail
                )

            [2] => mail
            [count] => 3
            [dn] => cn=nom prénomr,ou=role,ou=lieu,dc=serveurt,dc=fr
        )

    [1] => Array
        (
            [sn] => Array
                (
                    [count] => 1
                    [0] => nom2
                )

            [0] => sn
            [givenname] => Array
                (
                    [count] => 1
                    [0] => prénom2
                )

            [1] => givenname
            [mail] => Array
                (
                    [count] => 1
                    [0] => mail2
                )

            [2] => mail
            [count] => 3
            [dn] => cn=nom prénom 2,ou=role 2,ou=lieu 2,dc=serveur,dc=fr
        )

Etc etc etc

Merci d'avance pour votre coup de main ! :)

4 réponses


Twentyfour
Réponse acceptée

Crée une fonction qui parcours un tableau, à chaque itération, vérifie qu'il s'agit d'un tableau. Si c'est le cas vérifie qu'il possède la clé 'dn' avec la fonction array_key_exists. Et si c'est encore le cas, tu ajoutes son contenu dans une variable de type array que tu retournes en fin de fonction. Version très simplifée à adapter en fonction de ton besoin.

// PHP

// Recherche de la clé 'dn' pour un tableau à deux dimensions
function dn($tableau) {
    $result = array();

    foreach ($tableau as $tab) {
        if (is_array($tab) && array_key_exists('dn', $tab)) {
            $result[] = $tab['dn'];
        }
    }

    return $result;
}

Je ne l'ai pas testé mais normalement ça devrait fonctionner.

Jenjak
Auteur

Merci à toi, je tente de comprendre et je reviens dire ce que ça donne !

N'oublie pas de boucler le sujet si ton problème est résolu.