我有这个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";
}
等等...
对于我需要的每个值,我都尝试了这些的更多变化。
PHP中的数组实际上是有序映射。映射是一种将值与键相关联的类型。该类型已针对多种不同用途进行了优化。它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。
我认为这对您有帮助,请注意示例6 https://www.php.net/manual/zh/language.types.array.php
您需要访问多维数组。在PHP中,您无需像调用那样使用“点符号”(album.title
或elem1.sub_elem2
)来访问元素。您可以通过element的键访问多维数组,方法是:
$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
*/
?>
您可以在http://phptester.net/上尝试该代码
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句