2009-08-02 9 views
1

J'ai le tableau suivant (en php après l'exécution print_r sur l'objet de tableau):Comment accéder à un élément indexé par une chaîne d'un tableau PHP?

Array ( 
    [#weight] => 0 
    [#value] => Some value. 
) 

En supposant l'objet tableau est $arr, comment puis-je imprimer « valeur ». Ce qui suit ne fonctionne PAS:

print $arr->value; 
print $val ['value'] ; 
print $val [value] ; 

Alors ... comment le faites-vous? Toute idée de POURQUOI serait grandement appréciée! Merci!

+0

Avez-vous essayé 'print $ val [ « # valeur »]', car il semble que la clé n'est pas 'valeur ', mais' # value'. –

Répondre

3
echo $arr['#value']; 

Le print_r() semble être vous dire que la clé du tableau est la chaîne #value.

1

Après avoir rapidement vérifié les documents, il semble que mon commentaire était correct.

Essayez ce code:

print $arr['#value']; 

La raison en est que la clé du tableau n'est pas value, mais #value.

+0

Je vois maintenant. Je pensais pour une raison quelconque que le "#" signifiait un pointeur ou une référence quelconque. Merci! – coderama

1

Vous dites que votre tableau contient ceci:

Array ( 
    [#weight] => 0 
    [#value] => Some value. 
) 

Alors, qu'en utilisant les touches indiquées dans la sortie de print_r, comme ceci:

echo $arr['#value']; 

Ce qui print_r donne est les couples de clés/values ​​votre tableau contient; et pour accéder à une valeur dans un tableau, vous utilisez $your_array['the_key']


Vous pouvez jeter un oeil au manuel PHP; voici le page about arrays.
En parcourant les chapitres sur les bases de PHP peut vous aider à l'avenir :-)

Questions connexes