1

我不太确定我做错了什么,但似乎我正在努力理解它。

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

我得到一个数组到字符串的转换错误。

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

4

4 回答 4

5

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

$cards = range(1,52);
shuffle($cards);
echo $cards[0];
于 2013-10-04T21:04:06.807 回答
1

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];
于 2013-10-04T21:05:45.010 回答
0

去掉arrayrange返回一个数组:

$cards = range(1,52);
于 2013-10-04T21:04:31.003 回答
0

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

$cards =range(1,52);
shuffle($cards);
echo $cards[0];
于 2013-10-04T21:05:02.553 回答