我找到了一些使用负数组索引的代码.然后,我尝试使用它,没有什么特别的事情发生.它表现正常.我可以使用标准foreach循环检索所有元素.
那么,使用这些负面指数的目的是什么?我什么时候应该使用它?
Jer*_*man 17
负数组键在PHP中没有特殊含义,因为(与任何其他值一样)它们可以是关联数组的键.
$arr = array(-1 => 5);
echo $arr[-1];
然而,PHP的一些标准库函数(期望具有自然整数索引的常规数组的函数)采用负偏移来表示"从结束而非开始计数".array_slice就是这样一个例子.
Sz.*_*Sz. 12
从7.1开始,我们有一个重要而实用的特例,即使用数组语法从后向访问字符串的特定字符时:
$str = "123";
$empty = "";
echo "LAST CHAR of str == '$str[-1]'<br>"; // '3'
echo "LAST CHAR of empty == '$empty[-1]'<br>"; // '', Notice: Uninitialized string offset: -1
负数组索引在PHP中没有特殊含义(即获取最后/第二个最后一个元素等).要获取数组的最后一个元素,请使用:
$last = end($array);
要获得第二个最后添加:
$secondLast = prev($array);
请记住,这些函数会修改数组内部指针.要重置它,请使用:
reset($array);