php - 如何将子数组迭代为父数组的“行”,同时(按名称)在每个“行”中回显(键/值对)值
问题描述
我花了好几个小时寻找和尝试。根据 array() 和 list() 的文档,我的一种变体似乎可以工作,但到目前为止还没有成功。
我的目标是以下代码(或它的一些更正版本)......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Demo of Issue</title>
</head>
<body>
<?php
$Details_Standard_Ship = Array (
Array ('Book_ID' => 'c7xhGSU', 'Author_Name' => 'John Doe', 'Language' => 'English', 'Title' => 'Some Title 1'),
Array ('Book_ID' => 'rFxW8Bo', 'Author_Name' => 'Jane Doe', 'Language' => 'Spanish', 'Title' => 'Some Title 2')
);
foreach ($Details_Standard_Ship as $Details_ITEM) {
list($_Book_ID, $_Author_Name, $_Language, $_Title) = current($Details_ITEM);
echo "<p>Book_ID = " . $_Book_ID . "</p>";
echo "<p>Author_Name = " . $_Author_Name . "</p>";
echo "<p>Language = " . $_Language . "</p>";
echo "<p>Title = " . $_Title . "</p>";
}
?>
</body>
</html>
...将输出此结果:
迭代 1 of 2(第一个子数组)
Book_ID: c7xhGSU, Author_Name: John Doe, Language: English, Title: Some Title 1
迭代 2 of 2(第二个子数组)
Book_ID: rFxW8Bo, Author_Name: Jane Doe, Language: Spanish, Title: Some Title 2
注意:在遍历父数组的父级,我需要对每个子数组进行一次迭代,给出与子数组数量相匹配的主迭代总数。挑战在于仅在该子数组的一个“父级”迭代中获取所有子级的值。似乎我在进行外循环迭代时需要内循环迭代。我就是不知道怎么办!
以下是我尝试过的伪版本...
foreach $Details_Standard_Ship as $Details_ITEM {
foreach $Details_ITEM as list($_Book_ID, $_Author_Name, $_Language, $_Title) {
// echoing here...
}
}
和
foreach ($Details_Standard_Ship as $Details_ITEM) {
list($_Book_ID, $_Author_Name, $_Language, $_Title) = current($Details_ITEM);
// echoing here...
}
和
foreach ($Details_Standard_Ship as list( $_Book_ID, $_Author_Name, $_Language, $_Title)) {
// echoing here...
}
..等等。
我当然会欢迎并感谢任何帮助。
解决方案
实现在问题上发布的输出
采用
foreach(array as $key => $value)
//do something
整个代码
$Details_Standard_Ship = Array (
Array ('Book_ID' => 'c7xhGSU', 'Author_Name' => 'John Doe', 'Language' => 'English', 'Title' => 'Some Title 1'),
Array ('Book_ID' => 'rFxW8Bo', 'Author_Name' => 'Jane Doe', 'Language' => 'Spanish', 'Title' => 'Some Title 2')
);
foreach ($Details_Standard_Ship as $Details_ITEM) {
foreach ($Details_ITEM as $key => $value) {
echo "<p> $key = $value </p>";
}
}
从评论中了解问题后
用于$array['keyname']
获取特定键的值
$Details_Standard_Ship = Array (
Array ('Book_ID' => 'c7xhGSU', 'Author_Name' => 'John Doe', 'Language' => 'English', 'Title' => 'Some Title 1'),
Array ('Book_ID' => 'rFxW8Bo', 'Author_Name' => 'Jane Doe', 'Language' => 'Spanish', 'Title' => 'Some Title 2')
);
foreach ($Details_Standard_Ship as $Details_ITEM) {
echo "<p>Book_ID = " . $Details_ITEM['Book_ID'] . "</p>";
echo "<p>Author_Name = " . $Details_ITEM['Author_Name'] . "</p>";
echo "<p>Language = " . $Details_ITEM['Language'] . "</p>";
echo "<p>Title = " . $Details_ITEM['Title'] . "</p>";
}
推荐阅读
- c++ - Crypto++中的椭圆曲线点算术
- azure-devops-server - 如何将板列映射到 Azure Devops Server 中的自定义状态
- java - 如何使用 java 向 IBM MQ 发送 ack 消息
- oracle-apex - Oracle Apex SQL Workshop - 新行(CHR10)在 varchar DB 列中不起作用
- python - 尝试调用 tensorflow-hub 的预测方法时,在邮递员中找不到错误 404
- docker - 如何限制 docker swarm 中每个节点运行的最大容器数
- javascript - 鸭子键入未知对象时处理 null 的问题
- laravel - Laravel:有些东西正在改变方法,它是什么?
- python - 我正在尝试为数据集创建一个临时文件
- python - 通过更改 3 个位置的所有组合