非常简单的 php 数组问题


Really simple php array issue

我不太确定我做错了什么,但似乎我正在让自己的大脑煎熬试图理解它。

$cards = array(range(1,52));
shuffle($cards);
echo $cards[0];

我收到数组到字符串的转换错误。

我还尝试了一个自定义函数来根据输入值进行回显,但这也不起作用。

您正在创建一个数组数组。 range()已经返回一个数组:

$cards = range(1,52);
shuffle($cards);
echo $cards[0];

range 函数返回一个数组 (http://php.net/manual/en/function.range.php),因此语句 $cards = array(range(1,52)); 已将$cards设置为仅包含一个元素的数组 - 一个包含从 1 到 52 的值范围的数组。

因此,当你尝试echo $cards[0]时,你试图回显一个数组的元素,这会产生错误。

您要做的是:

$cards = range(1, 52);
shuffle($cards);
echo $cards[0];

> 去掉arrayrange返回一个数组:

$cards = range(1,52);

范围已经创建了一个数组。 您已经创建了一个包含该数组的元素的数组。

$cards =range(1,52);
shuffle($cards);
echo $cards[0];