php - 如何访问 PHP 数组中的不同键和值
问题描述
我有这个 PHP 数组:
Array
(
[Album Title 1] => Array
(
[Track Title 1] => 27
[Track Title 2] => 18
[Track Title 3] => 7
)
[Album Title 2] => Array
(
[Track Title 1] => 41
[Track Title 2] => 17
[Track Title 3] => 12
)
)
如何在不使用点符号的情况下回显“专辑标题 1”、“曲目标题 1”及其对应的 int(27)?(我不知道“专辑标题1”的确切标题)
要获得“专辑标题 1”,我尝试过:
echo $albums[0];
print_r(array_values($albums));
foreach ($albums as $a){
print_r($a) . "\n";
}
ETC...
对于我需要的每个值,我都尝试了更多的变体。
解决方案
PHP 中的数组实际上是一个有序映射。映射是将值与键相关联的类型。这种类型针对几种不同的用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。
我认为这对您有帮助,请注意示例 n° 6 https://www.php.net/manual/en/language.types.array.php
您需要的是访问多维数组。在 PHP 中,您不需要您调用的“点符号”(album.title
或elem1.sub_elem2
)来访问元素。可以通过element的key来访问多维数组,方式如下:
$multiarray["element1"]["sub_element2"]["sub_sub_elementX"];
话虽如此,我将在这里留下一个例子,更好地解释我想说的话。
使用您的数据的示例:
<?php
$array = array( "Album Title 1" => array( "Track Title 1" => 27,
"Track Title 2" => 18,
"Track Title 3" => 7 ),
"Album Title 2" => array( "Track Title 1" => 41,
"Track Title 2" => 17,
"Track Title 3" => 12 )
);
echo($array["Album Title 1"]["Track Title 2"]);
//Output will be 18
echo("<br/><br/>");
foreach($array as $Album => $Track){
foreach($Track as $Title => $number){
echo("Album : ".$Album."<br/>");
echo("Track : ".$Title."<br/>");
echo("Number : ".$number."<br/>");
}
}
/* Output will be:
Album : Album Title 1
Track : Track Title 1
Number : 27
Album : Album Title 1
Track : Track Title 2
Number : 18
Album : Album Title 1
Track : Track Title 3
Number : 7
Album : Album Title 2
Track : Track Title 1
Number : 41
Album : Album Title 2
Track : Track Title 2
Number : 17
Album : Album Title 2
Track : Track Title 3
Number : 12
*/
?>
推荐阅读
- css - 是否可以从开发工具直接写入 sass 部分?
- angular - Tuckey url 用 spring boot 重写,angular 4 导致奇怪的错误?
- java - 计算 JTable 中选定单元格的值的总和
- java - JPA datasorce 忽略属性文件中的用户名
- reactjs - React 应用程序未在 IE11 上加载
- html - div中相邻的元素
- python-3.x - 是否可以使用 seaborn 进行“缩放插图”?
- postgresql - 为什么在显式执行它们时会处理显示无法获取列名的 SSIS 行?
- c# - 使用本地文档中的数据
- firebase - 是否可以在 Firebase 中查看用户明智的使用统计信息?