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

5
下面的php代码片段将显示关联数组$ar中每个元素的键和值。但是,有没有更加优雅的方法来完成这个任务,使得键和值指针可以通过同一机制进行操作?我仍然希望它能在foreach循环(或其他不依赖于元素数量的循环)中执行。
<?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
}
?>

您是否只想打印出数组元素的键和值? - Michael Millar
@Michael:我想在我的代码的其余部分中同时使用键和值,用于搜索例程。•David:是的,问题和答案是相同的,但另一篇帖子以相当冗长的代码片段开头,这使得很难辨认出问题。也许我可以保持我的帖子未标记为重复,或者有什么礼仪? - danbae
2个回答

8
请阅读手册。你也可以使用foreach和key,如下所示:
$ar = array("A" => "one", "B" => "two", "C" => "three");
foreach ($ar as $key => $value) {
    print $key . ' => ' . $value . PHP_EOL;
}

2

问题 您正在使用以下形式的foreach循环:

foreach($array as $element)

这段代码通过循环迭代,将当前迭代中的元素值存储在$element变量中。

解决方法

还有一种形式的foreach循环:

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

这个循环迭代并将当前键存储在$key变量中,相应的值存储在$value变量中。

代码

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接