0

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

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

谁能告诉我 $length-1 在数据数组中的用途是什么?

4

6 回答 6

3

如果我们有一个数组:

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

那么$length,being count($arr), 是 5。$data[$length - 1] 是最后一个元素(第四个索引)。

但是,您应该注意到这读起来很糟糕。这就是为什么开发人员可能应该使用:

$lastc = end($data);

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

如果它是一个字符串,他们应该使用:

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

这将返回字符串的最后一个字符。

于 2012-05-07T19:44:56.883 回答
1

在这种情况下,此代码似乎旨在获取该特定字符串中的最后一个字符。在 PHP 中,您可以将字符串寻址为数组:

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

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

于 2012-05-07T19:44:04.820 回答
0

长度为 3的数组具有成员0和。所以不存在,但(aka ) 存在。12array[3]array[3-1]array[2]

于 2012-05-07T19:43:05.590 回答
0

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

于 2012-05-07T19:43:26.103 回答
0

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

于 2012-05-07T19:43:51.227 回答
0

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

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

于 2012-05-07T19:44:13.647 回答