计数数组返回高一位数

Counting Array Returns One Digit Higher

我正在计算一个 PHP 数组。 我的代码成功计算了它,但返回的值比我的数组高一位。

我试过在回显我的数组时使用 --,但这不起作用。

到目前为止,这是我的代码:

$quotes[0] = "Volvo";
$quotes[1] = "BMW";
$quotes[2] = "Toyota";

$quotesCount = count($quotes);
echo ($quotes[rand(0, 2)]);
echo $quotesCount--;

当它计数时它返回“3”,这是有道理的,因为有三个项目,但是我如何在它回显时减去一个数字以反映数组中最大的数字?

您尝试使用 echo $quotesCount--; 所做的几乎就是您想要的。不过,您错过的是 -- 的工作原理。您可以将它放在变量的前面或后面 - 这会有所不同。

要获得完整版,请阅读:http://php.net/manual/en/language.operators.increment.php

但简而言之,您可以这样做:

echo --$quotesCount;

这将显示您想要的值。

然而,这仍然不是真的 - 您混淆了数组键和数组中元素的数量。

例如,如果您的数组具有非顺序键 (1,3,5),则该代码将 return 2 - 这肯定不是最高键。

您可以通过使用 http://php.net/manual/en/function.array-keys.php 获得密钥本身的一个很好的垫脚石 - 然后您可以通过数组中的顺序引用实际密钥本身。

您可以使用 array_max($quotes) z 这将 return 数组中的最高键。

嘿" 在这种情况下你应该 array_max($array)。

array_max是数组函数,returns数组的最大值

就是这样, 继续编码:)