我是 PHP 新手,并试图更好地理解 wordpress 源代码。在我的旅行中,我遇到了以下代码行......
$lastc = $data[$length-1];
谁能告诉我 $length-1 在数据数组中的用途是什么?
如果我们有一个数组:
$arr = array(1, 2, 3, 4, 5);
那么$length
,being count($arr)
, 是 5。$data[$length - 1] 是最后一个元素(第四个索引)。
但是,您应该注意到这读起来很糟糕。这就是为什么开发人员可能应该使用:
$lastc = end($data);
它返回数组的最后一个元素。
如果它是一个字符串,他们应该使用:
$lastc = substr($data, $length - 1);
这将返回字符串的最后一个字符。
在这种情况下,此代码似乎旨在获取该特定字符串中的最后一个字符。在 PHP 中,您可以将字符串寻址为数组:
<?php
$str = "Hello world";
echo $str[6]; //outputs w;
?>
(另见PHP 手册)。在这种情况下,代码似乎将特定字符串的长度存储在 中,获取最后一个字符所需的索引$length
也是如此$length-1
,因为索引从 0 开始。
长度为 3的数组具有成员0
和。所以不存在,但(aka ) 存在。1
2
array[3]
array[3-1]
array[2]
这很可能是一种获取数组中最后一个元素的方法。由于数组是零索引的,因此数组的最后一个元素比长度小一。例如,如果一个数组 $foo 有五个元素,那么最后一个元素可以通过 $foo[4] 引用。
$data[$length-1]
是如何获取数组的最后一个元素。
它基本上是一种引用数组中最后一项的方法。由于数组以零索引开始,并且数组长度至少为 1(假设数组不为空),因此使用 $array[(count($array)-1)] 将为您提供最后一项。
如果您发现自己经常需要给定数组中的最后一个元素,我喜欢使用 array_reverse,这样我就可以简单地调用 $array[0]。