2010-04-22 54 views
0

我有访问数组中的值麻烦值,数组看起来像这样,PHP的foreach从数组

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 
     ) 

) 

我试图获取值的时候,我曾尝试做以下,

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

我也试过,

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

但这一切作品,我不知道为什么,谁能帮助?

回答

5

要指出的一些东西,希望澄清任何混淆,在你的第一个例子:

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

箭头操作符(->)被滥用。它通常用于调用类对象上的方法,在您的情况下,$rslt将是类对象,而id将是一种方法,但情况并非如此。

在你的第二个例子,

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

你几乎击中了要害,但你已经忘了打电话给echoprint输出值到屏幕上。

此外,您$result阵列有一个子数组中的索引0,使需要改变

$rslt['id']; 

到,与echoprint语句一起。

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

我敢肯定有人会p在接下来的0.3秒内收到答案,所以我只是试着用你的方法来帮助你。显然你知道如何使用print_r(或var_dump)。你有没有尝试在你的数组中使用$ rslt?您似乎很难理解$ rslt是什么。

+0

我在评论5年后,那该怎么办? – 2016-03-24 12:52:27