我是PHP新手并试图更好地理解wordpress源代码。 在我的旅行中,我遇到了以下代码......
$lastc = $data[$length-1];
有人能告诉我$ length-1的目的是在数据数组中吗?
答案 0 :(得分:3)
如果我们有一个数组:
$arr = array(1, 2, 3, 4, 5);
然后$length
为count($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的数组包含0
,1
和2
成员。因此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]。