使数组的第一个索引上的prev()返回最后一个索引


Making prev() on first index of array return the last index

我正在寻找一种方法,使prev()函数在用于第一个索引时保持倒带(从末尾开始)。考虑以下示例:

$foo = array(1, 2, , ..., 12);
echo current($foo) // output: 1
echo prev($foo) // should output 12 - returns FALSE

当然,我可以写一个函数来满足我的需求,但我确信我一定忽略了一些东西,因为这是一个非常简单的行为。

function myPrev(&$array) {
    if(prev($array) === false) {
        return end($array);
    }
    return prev($array);
}

你觉得这样吗?

使用end(),它这样设计是有原因的。