计数数组返回高一位数字


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),则该代码将返回 2 - 这当然不是最高键。

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

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

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

array_max 是一个数组函数,它返回数组的最大值。

就是这样继续编码:)