在PHP中从数组键中减去1的目的是什么?

时间:2012-05-07 19:41:00

标签: php arrays wordpress

我是PHP新手并试图更好地理解wordpress源代码。 在我的旅行中,我遇到了以下代码......

$lastc = $data[$length-1];

有人能告诉我$ length-1的目的是在数据数组中吗?

6 个答案:

答案 0 :(得分:3)

如果我们有一个数组:

$arr = array(1, 2, 3, 4, 5);

然后$lengthcount($arr),为5. $ data [$ length - 1]是最后一个元素(第四个索引)。

但是,你应该注意到这一点非常糟糕。这就是为什么开发人员可能刚刚开始:

$lastc = end($data);

返回数组的最后一个元素。

如果是字符串,则应使用:

$lastc = substr($data, $length - 1);

哪会返回字符串的最后一个字符。

答案 1 :(得分:1)

在这种情况下,看起来此代码旨在获取该特定字符串中的最后一个字符。在PHP中,您可以将字符串作为数组来处理:

<?php
$str = "Hello world";
echo $str[6]; //outputs w;
?>

(另见PHP manual)。在这种情况下,代码似乎具有存储在$length中的特定字符串的长度,因此$length-1是获取最后一个字符所需的索引,因为索引从0开始。

答案 2 :(得分:0)

长度为3的数组包含012成员。因此array[3]不存在,但array[3-1](又名array[2])确实存在。

答案 3 :(得分:0)

这很可能是获取数组中最后一个元素的方法。由于数组是零索引的,因此数组的最后一个元素比长度小一个。例如,如果一个数组$ foo有五个元素,那么最后一个元素可以通过$ foo [4]引用。

答案 4 :(得分:0)

$data[$length-1]是你如何得到数组的最后一个元素。

答案 5 :(得分:0)

它基本上是一种引用数组中最后一项的方法。由于数组的索引为零,并且数组长度至少为1(假设数组不为空),使用$ array [(count($ array)-1)]将为您提供最后一项。

如果你发现自己在给定的数组中经常需要最后一个元素,我喜欢使用array_reverse,这样我就可以简单地调用$ array [0]。