-3

代码中的问题;

<?php
/*
* @array
*/
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2); //What does the two mean?
echo $input[$rand_keys[1]] . "\n"; //What does the 1 stand for? and Why do I have to define $input again if it was defined in $rand_keys?
?>

这些数字是什么意思?谢谢。

编辑:

我努力了:

$input = array("test", "test2", "test3", "test4");
$rand_keys = array_rand($input, 2);
$echo = $input[$rand_keys[0]];
echo $echo;

它显示到test3。我只在数组 rand 中做了 2 个。为什么显示3?

4

7 回答 7

1

那么 array_rand 函数在这里解释:

http://php.net/manual/en/function.array-rand.php

因此 2 指定了您要选择的条目数。

数字 1 代表数组 rand_keys 中的索引 1 并且您没有再次定义输入,您只是访问输入数组中的一个值。

希望这有帮助!

于 2012-10-19T06:06:57.897 回答
0

array_rand 将为您提供数组中的一些随机条目。

在这种情况下, 2 指定您需要数组中的两个随机条目。

[1] 表示数组中的第二个元素。(数组元素从 0 开始)

于 2012-10-19T06:09:53.293 回答
0

array_rand() 中的第二个参数表示:

从数组中选择一个或多个随机条目,并返回随机条目的键(或多个键)。

1 代表数组中索引为 1 的元素。在这种情况下,它是数组中的第二个元素,因为它从 0 开始索引。

您不再定义任何内容,您只是使用数组$input中的第二个键打印元素$random_keys

于 2012-10-19T06:10:02.467 回答
0

$rand_keys = array_rand($input, 2); //What does the two mean?

2 表示,您想随机选择多少个条目。您提到了 2,因此将选择 2 个随机条目。

echo $input[$rand_keys[1]] . "\n"; //What does the 1 stand for? and Why do I have to define $input again if it was defined in $rand_keys?

1代表什么? array_rand返回包含键的数组,包含由 .1返回的第二个条目array_rand

如果 $rand_keys 中定义了 $input,为什么还要重新定义它? array_rand将仅将条目作为key(s)非值返回,如果您需要该值,那么您将$input.

于 2012-10-19T06:13:32.320 回答
0

array_rand 函数用于从数组中选择一个或多个随机条目。

在您的代码array_rand($input,2)中,2 是您要从$input数组中提取的条目数

回答你的问题

What does the 1 stand for? and Why do I have to define $input again if it was defined in $rand_keys?

array_rand returns an array of random keys.

So to access the value from $input array you need to use it as index only i.e. $rand_key[1] is one of the index of $input that's why you need to mention $input.

于 2012-10-19T06:14:13.123 回答
0

如果您对函数有疑问,请阅读手册:array_rand

第二个参数描述如下:

num_req

指定要选择的条目数。尝试选择比数组中更多的元素将导致E_WARNING级别错误。

这行代码:

echo $input[$rand_keys[1]] . "\n";

打印出$input索引等于$rand_keys[1]的元素, 的第二个元素$rand_keys

于 2012-10-19T06:07:23.970 回答
0
array_rand — Pick one or more random entries out of an array

“数字”表示数组中随机值的数量。

有关更多信息,请参阅 http://php.net/manual/en/function.array-rand.php

例如: http ://www.developphp.com/view_lesson.php?v=477

于 2012-10-19T06:07:37.283 回答