首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中使用for和foreach打印具有不同名称的数组

在PHP中使用for和foreach打印具有不同名称的数组
EN

Stack Overflow用户
提问于 2021-09-24 12:53:19
回答 2查看 35关注 0票数 0

我是PHP新手,想知道是否有简单的方法来解决这个问题。

代码语言:javascript
复制
$class_1 = array("Name" => "Lule", "Surname" => "Mirela", "Email" => "Lule@gmail.com", "Birthday" => "30/04/2001");
$class_2 = array("Name" => "Aida", "Surname" => "Besim", "Email" => "Aida@gmail.com", "Birthday" => "16/11/2001");
$class_3 = array("Name" => "Flaka", "Surname" => "Agim", "Email" => "Flaka@gmail.com", "Birthday" => "23/09/2003");
for($i = 1; $i <= 3; $i++) {
    foreach ($class_1 as $key => $val) {
        echo $key. ": ";
        echo $val. "<br/>";
    }
}

从技术上讲,我认为只编写$class_$i是可能的,但这似乎行不通。我不熟悉PHP语法。

EN

回答 2

Stack Overflow用户

发布于 2021-09-24 12:57:21

尝试使用多维数组。就像这样。

代码语言:javascript
复制
$class[0] = array("Name" => "Lule", "Surname" => "Mirela", "Email" => "Lule@gmail.com", "Birthday" => "30/04/2001");
$class[1] = array("Name" => "Aida", "Surname" => "Besim", "Email" => "Aida@gmail.com", "Birthday" => "16/11/2001");
$class[2] = array("Name" => "Flaka", "Surname" => "Agim", "Email" => "Flaka@gmail.com", "Birthday" => "23/09/2003");
for($i = 0; $i <= 2; $i++) {
    foreach ($class[$i] as $key => $val) {
        echo $key. ": ";
        echo $val. "<br/>";
    }
}

另外仅供参考,将class作为变量名是一个糟糕的想法。

票数 1
EN

Stack Overflow用户

发布于 2021-09-24 13:08:13

你要找的东西叫做"variable variables“。您必须构建一个包含数组名称的变量,并将其与双美元符号一起使用:

代码语言:javascript
复制
$class_1 = array("Name" => "Lule", "Surname" => "Mirela", "Email" => "Lule@gmail.com", "Birthday" => "30/04/2001");
$class_2 = array("Name" => "Aida", "Surname" => "Besim", "Email" => "Aida@gmail.com", "Birthday" => "16/11/2001");
$class_3 = array("Name" => "Flaka", "Surname" => "Agim", "Email" => "Flaka@gmail.com", "Birthday" => "23/09/2003");
for($i = 1; $i <= 3; $i++) {
    $array = "class_$i";
    foreach ($$array as $key => $val) {
        echo $key. ": ";
        echo $val. "<br/>";
    }
}

或者更简洁地说:

代码语言:javascript
复制
$class_1 = array("Name" => "Lule", "Surname" => "Mirela", "Email" => "Lule@gmail.com", "Birthday" => "30/04/2001");
$class_2 = array("Name" => "Aida", "Surname" => "Besim", "Email" => "Aida@gmail.com", "Birthday" => "16/11/2001");
$class_3 = array("Name" => "Flaka", "Surname" => "Agim", "Email" => "Flaka@gmail.com", "Birthday" => "23/09/2003");
for($i = 1; $i <= 3; $i++) {
    foreach (${"class_$i"} as $key => $val) {
        echo $key. ": ";
        echo $val. "<br/>";
    }
}

然而,在我看来,像@Akshay Pose建议的那样创建一个数组通常更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69315372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档