2010-04-22 5 views
0

Je ne parviens pas à accéder aux valeurs dans un tableau, le tableau ressemble à ceci,php foreach obtenir des valeurs d'un tableau

Array 
(
    [0] => Array 
     (
      [id] => 1661 
      [code] => 849651318 
      [job_status] => 4 
      [looking_for] => Lorem ipsum 
      [keywords_education] => Derby University 
      [sector_id_csv] => 10,21,9,22,26 
      [last_job_title_1] => Programmer 
      [last_job_employer_1] => HBOS 
      [city] => Bury 
      [expected_salary_level] => LEVEL_2 
      [education_level] => COLLEGE 
      [job_looking_for] => 
      [is_contract] => Y 
      [is_permanent] => N 
      [is_temporary] => Y 
     ) 

) 
Array 
(
    [0] => Array 
     (
      [id] => 402 
      [code] => 849650059 
      [job_status] => 3 
      [looking_for] => Lorem ipsum 
      [keywords_education] => Paris College 
      [sector_id_csv] => 27,22,19,21,12 
      [last_job_title_1] => Programmer 
      [last_job_employer_1] => HSBC 
      [city] => Bury 
      [expected_salary_level] => LEVEL_2 
      [education_level] => COLLEGE 
      [job_looking_for] => 
      [is_contract] => N 
      [is_permanent] => Y 
      [is_temporary] => Y 
     ) 

) 
Array 
(
    [0] => Array 
     (
      [id] => 1653 
      [code] => 849651310 
      [job_status] => 3 
      [looking_for] => Lorem ipsum 
      [keywords_education] => Crewe University 
      [sector_id_csv] => 27,15,19,21,24 
      [last_job_title_1] => Programmer 
      [last_job_employer_1] => ICI 
      [city] => Bury 
      [expected_salary_level] => LEVEL_2 
      [education_level] => UNIVERSITY 
      [job_looking_for] => 
      [is_contract] => N 
      [is_permanent] => Y 
      [is_temporary] => Y 
     ) 

) 

Je suis en train d'obtenir les valeurs, je l'ai essayé de faire ce qui suit,

foreach ($result as $rslt) { 
    echo $rslt->id; 
} 

J'ai aussi essayé,

foreach ($result as $rslt) { 
    $rslt['id']; 
} 

Mais rien de tout cela fonctionne, je ne sais pas pourquoi, quelqu'un peut-il aider?

Répondre

5

Pour signaler quelques choses et nous espérons clarifier toute confusion, dans votre premier exemple:

foreach ($result as $rslt) { 
    echo $rslt->id; 
} 

L'opérateur flèche (->) est utilisé à mauvais escient. Il est couramment utilisé pour invoquer une méthode sur un objet de classe, dans votre cas $rslt serait un objet de classe et id serait une méthode, ce qui n'est pas le cas.

Dans votre deuxième exemple,

foreach ($result as $rslt) { 
    $rslt['id']; 
} 

Tu as failli mettre le doigt dessus, mais vous aviez oublié d'appeler echo ou print à la sortie de la valeur sur l'écran.

En outre, votre tableau $result a un sous-réseau à l'index 0, de sorte qu'il faudrait changer

$rslt['id']; 

à, ainsi que la déclaration echo ou print.

echo $rslt[0]['id']; 
0

Je suis sûr quelqu'un va p La réponse est dans les 0.3 secondes suivantes, donc je vais essayer de vous aider avec votre méthodologie. Vous savez clairement comment utiliser print_r (ou var_dump). Avez-vous essayé de l'utiliser sur $ rslt dans votre tableau? Vous semblez avoir de la difficulté à comprendre ce qu'est $ rslt.

+0

Je fais des commentaires après 5 ans, que diriez-vous? –