无法获得多维数组的最后输出?

时间:2017-09-17 18:56:03

标签: php arrays multidimensional-array

我正在制作这个小型音乐阵列(多维),但我无法将“价格”作为输出。 (使用printarray输出,显示彼此之间的所有价格。

此脚本适用于单个阵列(非多维)。

我试过了:

Implode,Printarray,钥匙..物品等。

代码:

    <?php

$Music = array (
    array("title"=> "Versace On The Floor", "singer"=> "Bruno Mars", "genre" => "pop", "price"=> 1.99),
    array("title"=> "Roar", "singer"=> "Katy Pery", "genre" => "pop", "price"=> 2.50),
    array("title"=> "Warriors", "singer"=> "Imagine Dragons", "genre" => "pop", "price"=> 2.30)
);

echo "<br>";

$x = count($Music);

foreach($Music as $row)
{
    if($x ==1)
    { $secondLast = $row;}
    $x--; 
}
echo $secondLast;

?>

2 个答案:

答案 0 :(得分:1)

你可以不用循环来完成:

echo $Music[count($Music) - 2]['price'];

count($Music) - 2为您提供倒数第二个元素的索引。在这种情况下,它是13 - 2

与此类似,最后一项可以通过以下方式实现:

echo $Music[count($Music) - 1]['price'];

答案 1 :(得分:0)

$secondLast是数组,

如下所示纠正

echo $secondLast['price'];

但你打印的是最后一个,而不是最后一个

使用

无论

  

注意:这在当前上下文中更有效地获得倒数第二个元素,无论数组键是否为a都无关紧要   整数或字符串

end($Music);
$second_last = prev($Music);
echo $second_last['price'];

OR

echo $Music[count($Music)-2]['price']