【问题标题】:php: display key and value for each element of associative array [duplicate]php:显示关联数组的每个元素的键和值[重复]
【发布时间】:2018-05-02 03:07:01
【问题描述】:

下面的 php sn-p 将显示关联数组 $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:我想在我的其余代码中使用键和值来进行搜索例程。 •David:是的,问题和答案是一样的,但是另一篇文章以相当长的sn-p 代码开头,这使得识别问题比这里更难。也许我可以不将我的帖子标记为重复,或者礼仪是什么?

标签: php arrays associative-array


【解决方案1】:

请阅读manual。您可以将 foreach 与键一起使用,也可以像这样:

$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";
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2013-12-03
      • 1970-01-01
      • 2012-12-19
      • 2015-01-22
      • 2012-12-01
      • 1970-01-01
      • 2019-03-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多