我正在尝试计算一个php数组。 我有我的代码成功计算它,但该值返回比我的数组高一位数。
我尝试使用 - 在回显我的数组时,但这不起作用。
到目前为止,这是我的代码:
$quotes[0] = "Volvo";
$quotes[1] = "BMW";
$quotes[2] = "Toyota";
$quotesCount = count($quotes);
echo ($quotes[rand(0, 2)]);
echo $quotesCount--;
当它计数时它返回“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 是一个返回数组最高值的数组函数。
就是这样, 保持编码:)