php:关联数组的每个元素的显示键和值

问题描述:

以下php代码段将显示关键数组$ ar中每个元素的键值。但是,它不能以更优雅的方式完成,例如键和值指针是由同一机制提高的吗?我仍然希望它在foreach循环(或者不依赖于元素数目的知识)中执行。php:关联数组的每个元素的显示键和值

<?php 
$ar = array("A" => "one", "B" => "two", "C" => "three"); 
foreach($ar as $a){ 
    echo "key: ".key($ar)." value: ".$a."\n"; 
    $ignore = next($ar);//separate key advancement - undesirable 
} 
?> 
+0

你只是想打印出每个数组的元素的键和值? – Michael

+0

@Michael:我想在代码的其余部分中使用该键和值,以用于搜索例程。 •大卫:是的,问题和答案是一样的,但另一篇文章以相当长的代码片段开始,这使得识别问题比这里更难。也许我可以保留我的帖子不重复,或礼节是什么? – danbae

请阅读manual。您可以使用的foreach用钥匙也像这样:

$ar = array("A" => "one", "B" => "two", "C" => "three"); 
foreach ($ar as $key => $value) { 
    print $key . ' => ' . $value . PHP_EOL; 
} 
+0

谢谢。在发布之前,我对此进行了相当多的阅读,但是我没有找到该功能。 – danbae

+0

不客气。感谢您接受我的回答:) –

问题 您通过循环使用的foreach循环中的

foreach($array as $element) 

,形式是迭代,并给出了元素在当前迭代中的价值$元

解决方案

的foreach环路是

foreach($array as $key => $value) 

此遍历环路,并给出在$关键变量的当前密钥和$值变量对应的值的另一种形式。

代码

<?php 
$ar = array("A" => "one", "B" => "two", "C" => "three"); 
foreach($ar as $key => $value){ 
    echo "key: ".$key." value: ".$value."\n"; 
} 
?>