在索引中将索引数组按索引降序排序

时间:2014-11-24 15:35:29

标签: php

我试图按照与定义内容相反的顺序列出内容。

该语言是PHP Version 5.6.3

我正在使用以下代码:

$cars = array("Volvo", "BMW", "Toyota", "Chevy");
$arrayCount = count($cars);

krsort($cars);

for($idx = 0; $idx < $arrayCount; $idx++) {
    echo $cars[$idx];
    echo "<br>";
}

我明白了:

Volvo
BMW
Toyota
Chevy

而不是预期的:

Chevy
Toyota
BMW
Volvo

非常感谢任何帮助!

6 个答案:

答案 0 :(得分:0)

使用array_reverse

它会完成你的工作。

答案 1 :(得分:0)

只需使用array_reverse()即可。例如:

$cars = array("Volvo", "BMW", "Toyota", "Chevy");
$reversed = array_reverse($cars);

array_walk($reversed, function($val, $key){ echo $val . "\n"; });

或者可以使用foreach()代替array_walk()

foreach($reversed as $k=>$v){
    echo $v . "\n";
}

<强>输出:

Chevy
Toyota
BMW
Volvo

答案 2 :(得分:0)

为什么不使用array_reverse()

$cars = array("Volvo", "BMW", "Toyota", "Chevy");
$reversed = array_reverse($cars);
var_dump($reversed);

答案 3 :(得分:0)

这应该适合你:

<?php

    $cars = array("Volvo", "BMW", "Toyota", "Chevy");
    $cars = array_reverse($cars);

    foreach($cars as $k => $v)
        echo $cars[$k] . "<br />";

?>

输出:

Chevy
Toyota
BMW
Volvo

答案 4 :(得分:0)

您可以使用array_reverse()

$cars = array("Volvo", "BMW", "Toyota", "Chevy");
$reversed = array_reverse($cars, true); //reverses array and keeps keys

$arrayCount = count($reversed);    

for($idx = 0; $idx < $arrayCount; $idx++)
{
   echo $cars[$idx];
   echo "<br>";
}

这会有效!

答案 5 :(得分:0)

您可以像其他人已经说过的那样使用array_reverse,或者您可以代替++ for for循环 - 它。

$cars = array("Volvo", "BMW", "Toyota", "Chevy");
$arrayCount = count($cars);

krsort($cars);

for($idx = $arrayCount; $idx > 0; $idx--)
  {
    echo $cars[$idx];
    echo "<br>";
  }