You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中使用For-Each遍历数组仅显示最后一个值的问题排查

问题分析与解决方案

错误原因

你定义的$user数组是单层关联数组,PHP里关联数组的键是唯一的。你重复使用了Gebruikersnaam、Wachtwoord、Email这三个键,后面的键值会直接覆盖前面的。比如第二个用户的Gebruikersnaam会覆盖第一个的,直到最后一组值把前面的全部覆盖,最终数组里只剩最后一个用户的三组键值对,所以foreach遍历只能输出这三组内容,看不到5个用户的完整信息。

解决方案

要把每个用户的信息封装成独立的子数组,外层用一个数组存放这5个用户子数组,也就是创建一个二维数组。这样每个用户都是外层数组的一个元素,遍历外层数组就能逐个获取每个用户的完整信息。

修正后的代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>13-FOR-EACH controle structuren</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="">
    </head>
    <body>
        <?php

        $users = array(
            array(
                "Gebruikersnaam" => "OJ", 
                "Wachtwoord" => "Aapje@123", 
                "Email" => "info@officialjens.be"
            ),
            array(
                "Gebruikersnaam" => "Wolf", 
                "Wachtwoord" => "Wolfje@123", 
                "Email" => "wolf@wolftm.nl"
            ),
            array(
                "Gebruikersnaam" => "PietjePuk", 
                "Wachtwoord" => "Pukje@123", 
                "Email" => "help@pietpjepuk.eu"
            ),
            array(
                "Gebruikersnaam" => "Aquila", 
                "Wachtwoord" => "Aquila@123", 
                "Email" => "info@aquila.org"
            ),
            array(
                "Gebruikersnaam" => "CS", 
                "Wachtwoord" => "CS@123", 
                "Email" => "info@creationlystudio.com"
            )
        );

        print "<ol>";
        
        foreach ($users as $index => $user) {
            print "<li>用户 " . ($index + 1) . ":</li>";
            print "<ul>";
            foreach ($user as $key => $value) {
                print "<li>$key : $value</li>";
            }
            print "</ul>";
        }

        print "</ol>";
        ?>
    </body>
</html>

代码说明

  1. 将原数组改为二维数组,每个子数组对应一个用户的完整信息
  2. 外层foreach遍历所有用户,内层foreach遍历当前用户的所有属性
  3. 用有序列表嵌套无序列表的结构,让输出层级更清晰

内容的提问来源于stack exchange,提问作者Exoisme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:15:34