2013-04-16 3 views
0
$icecream = array (
    "Choco" => array('2 Dollars'), 
    "Mango" => array('3 Dollars') 
); 

imprimer $ icecream [0] [0];Clé et valeur de Mutliarray PHP Imprimer

Résultats escomptés: 2 Dollars

Edit: J'ai une liste énorme de sortes de crèmes glacées et je ne veux utiliser une boucle pour produire toutes les informations en tant que DOM HTML. Donc je ne veux pas passer en revue chaque valeur du tableau et lui faire écho avec la valeur explicite (c'est-à-dire 'Choco', 'Orange', etc ...).

Je veux utiliser des valeurs comme clés pour le « premier niveau de gamme » (icecream $ [0]),

Il ne fait rien de sortie du tout. Quel est mon défaut logique avec cette solution?

+2

vous devez imprimer $ icecream ["Choco"] [0] (vous avez un nom de clé donc vous ne pouvez pas y accéder avec le numéro de position 0) – Svetoslav

Répondre

6

essayez ceci:

echo $icecream['Choco'][0]

Votre problème ici appelle la mauvaise touche pour le 1er dim

. .

Pour votre question mise à jour, essayez ceci:

$ice_k = array_keys($icecream); 
echo $icecream[$ice_k[0]][0]; 
+0

J'ai édité la question pour fournir le contexte nécessaire. Je suis désolé pour le dérangement. – Tomkay

+0

ok a obtenu votre question maintenant. vérifier la réponse mise à jour –

+1

@RaheelHasan +1 pour l'esprit sportif, en aidant deux fois pour satisfaire l'utilisateur. –

0

Vous n'êtes pas en utilisant le tableau associatif droit. Vous devez utiliser la bonne clé.

echo $icecream['choco'][0]; 
+0

Mais que faire si le premier élément du tableau va changer son nom? Je ne peux pas compter sur la valeur explicite. Est-ce que je ne peux pas utiliser la position du premier élément du tableau? – Tomkay

+0

Mais comment faites-vous cette position est quelle saveur? La chose la plus logique serait de leur donner un identifiant qui ne change jamais et un nom qui pourrait changer. – user2285451

0

Vous pouvez utiliser la position, mais il sera un compteur comme ceci:

$counter = 0; 
foreach($icecream As $k=>$v) { 
    echo $icecream[$k][0] . ' [' . $counter . ']'; 
    $counter++; 
} 

et si vous voulez obtenir que la valeur que vous pouvez utiliser le code précédent

$ice_k = array_keys($icecream); 
$position = 5; 
if(isset($ice_k[$position])) { 
    echo $icecream[$ice_k[$position]][0]; 
}