计数数组返回一位数

时间:2015-01-01 00:49:43

标签: php arrays count

我正在尝试计算一个php数组。 我有我的代码成功计算它,但该值返回比我的数组高一位数。

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

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

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

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

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

3 个答案:

答案 0 :(得分:2)

您使用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可以为密钥本身提供一个很好的敲门板 - 然后您可以按照数组中的顺序引用实际密钥本身。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

array_max 是一个返回数组最高值的数组函数。

就是这样, 保持编码:)