2010-10-08 5 views
0

Bonjour à tous.Utilisation de valeurs de tableau en tant que clés d'un autre tableau

J'ai un réseau régulier (ce qui est le résultat print_r, le tableau peut avoir de 1 à n positions):

Array 
(
    [1] => value1 
    [2] => value2 
    [3] => value3 
) 

J'ai un autre tableau défini ailleurs comme:

$array_def['value1']['value2']['value3'] = array(
'fl' => 'field1', 
'f2' => 'field2', 
); 

aide le premier résultat du tableau, comment puis-je vérifier si $ array_def existe? En d'autres termes, j'ai besoin d'utiliser des valeurs de tableau à plat pour vérifier si une correspondance de tableau multidimensionnelle existe; Gardez à l'esprit que les valeurs peuvent être répétées dans le premier tableau. Par conséquent, inverser les valeurs avec les clés n'est pas une option, car cela entrera en conflit et supprimera les valeurs dupliquées.

Merci d'avance.

Répondre

1

Vous pouvez le faire de cette façon:

$a = array(1=>'value1', 2=>'value2', 3=>'value3'); 
$array_def[$a[1]][$a[2]][$a[3]] = array(
'fl' => 'field1', 
'f2' => 'field2', 
); 

Je ne pense pas qu'il y ait raccourci ou fonction intégrée spéciale pour le faire.

+0

cela suppose $ un aura toujours 3 éléments et array_def $ aussi, je veux dire, c'est une solution plate, pas une dynamique, Merci pour l'effort cependant =) – Kusanagi2k

0

Vous avez trouvé la fonction parfaite pour vous. ne revient pas seulement existe, mais la position dans un tableau multidimensionnel ..

http://www.php.net/manual/en/function.array-search.php#47116

du: 03-Nov-2004 11:13 trop à copier/coller

vous pouvez alors boucle au-dessus votre tableau plat et foreach:

multi_array_search (search_value $, the_array de $)

+0

Cela semble être un peu le contraire de ce que le PO recherchait. – cHao

+0

Exactement, je dois rechercher les clés dans le tableau A en utilisant les valeurs du tableau B, cela retourne les clés en utilisant une valeur, effort apprécié – Kusanagi2k

Questions connexes