2011-01-21 9 views
2

J'ai ce tableau:Rechercher dans un tableau 2D ... php

$ Fruit = array()

$ Fruit [espèces $] [de propriété $] = valeur $

Array 
(
    [Apple] => Array 
     (
      [Green] => 4 
      [Spots] => 3 
      [Red] => 3 
      [Spots] => 2 
     ) 

maintenant, je veux rechercher si une clé existe dans le second tableau ...

J'ai essayé ceci:

if (!array_key_exists($property, $Fruit->$species)) 

Mais cela ne fonctionne pas ...

Quelqu'un sait comment rechercher dans un tableau d'un tableau ...?

Cordialement, Thijs

Répondre

6
array_key_exists($property, $Fruit[$species]) 

-> est pour les objets, [] est pour l'écriture et la lecture de tableaux.

BTW, à moins que vos valeurs peuvent être null, je vous recommande isset au lieu de array_key_exists:

isset($Fruit[$species][$property]) 

devrait être plus intuitive.

0

Les travaux ci-dessus si tout ce que vous avez besoin est un oui/non (vrai/faux) réponse à votre recherche, mais il ne retourne pas l'élément trouvé des infos supplémentaires (à partir de la autre dimension de tableau, par exemple).

Vérifiez cette boucle dans le manuel PHP: http://php.net/manual/en/control-structures.foreach.php et le combiner avec un plus

pour obtenir la clause if

Je ne vous donne pas une cause de réponse directe foreach est une partie de base de PHP vous devez apprendre.