如何反转foreach $ key值PHP?

时间:2015-09-16 15:37:30

标签: php arrays

我的大脑已关闭,我正在使用foreach索引为元素分配z-index,但我需要它以相反的顺序运行。最后一个应该是0,第一个应该具有最高的z-index;

foreach ($array as $key => $layer){


        // css z-index: $key reversed 
}

感谢任何帮助

修改 好吧,每个人都疯了,因为我问了这个问题,但我没有找到array_reverse,因此我发布了一个问题

我问过如何扭转 $ key ,只有理解的人是Sergey Krivov

6 个答案:

答案 0 :(得分:3)

$layercount = count($array);
foreach ($array as $key => $layer){
    // css z-index: $key reversed
    $zIndex = $layercount - 1 - $key;
}

答案 1 :(得分:1)

使用array_reverse()

$my_reversed_array = array_reverse($my_original_array);
foreach ($my_reversed_array as $key => $layer) {
    ...

http://php.net/manual/en/function.array-reverse.php

答案 2 :(得分:1)

另一种颠倒数组键顺序的方法是使用PHP的array_combine()重新索引数组,其键反转array_reverse(),如下所示:

$data = array_combine( array_reverse(array_keys($data)) , $data );

这会将数组键重新指定为原始键的反转数组。

INPUT:

Array
(
    [0] => one
    [1] => two
    [2] => three
    [3] => four
    [4] => five
)

输出:

Array
(
    [4] => one
    [3] => two
    [2] => three
    [1] => four
    [0] => five
)

View a demonstration here

答案 3 :(得分:0)

反转数组?

foreach (array_reverse($array) as $key => $layer){
        // css z-index: $key reversed 
}

答案 4 :(得分:0)

只需使用PHP内置函数:array_reverse

输入:

$my_array = Array
(
    [0] => one
    [1] => two
    [2] => three
    [3] => four
    [4] => five
)

如果您致电array_reverse($my_array);,则输出将为:

Array
(
    [0] => five
    [1] => four
    [2] => three
    [3] => two
    [4] => one
)

但是,如果您呼叫array_reverse($my_array, TRUE);,则输出将为:

Array
(
    [4] => five
    [3] => four
    [2] => three
    [1] => two
    [0] => one
)

如文档中所述:

array_reverse ( array $array [, bool $preserve_keys = FALSE ] ) : array

array
  The input array.

preserve_keys
  If set to TRUE numeric keys are preserved. Non-numeric keys are not affected by this setting and will always be preserved.

https://www.php.net/manual/en/function.array-reverse.php

答案 5 :(得分:-1)

使用array_reverse

<?php
$array = array_reverse($array);
foreach ($array as $key => $layer){


        // css z-index: $key reversed 
}
?>