2015-08-27 46 views
0

经过多年的困惑之后,我试图掌握PHP数组,特别是与foreach循环的组合。在简单关联数组中使用PHP foreach循环获取密钥

有各种类似的问题,但我真的想明白为什么这不是工作,而不是使其本身工作(很快将使用很多foreach循环和数组在更复杂的东西)。

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"37"); 

有一个简单的foreach循环:

foreach ($age as $ages) 
{ 
    n();n(); 
    echo($ages); 
    n(); 
    $v="volvo"; 
    $key = key($age); 
    if ($age["Ben"]==$ages) 
    { 
     echo "<BR><BR>Result is $key is $ages <BR>"; 
    } 
} 

输出是:

35 
37 
Result is Ben is 37 
37 
Result is Ben is 37 

一切都很好,但我期待的姓氏是乔。

我认为foreach作为KEY VALUE对循环通过每个数组值对。那么,我为什么要让Ben两次?

回答

1

使用foreach通过以下方式:foreach ($age as $name=>$personAge)

+0

由于已经看到,但试图了解在原来的事情。我通过我的原始'$ key = key($ age)'访问了什么。为什么Ben是答案。它循环两次,值为37 ...第三次,VALUE是37,但它来自Joe ...是的,我可以使用'var => var'形式工作,但仍然困惑。感谢指针。 – BeNice

相关问题