我正在尝试计算一个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 是一个数组函数,它返回数组的最大值。
就是这样继续编码:)