代码中的问题;
<?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。我在阵列兰特中只做了2次。为什么显示3?
答案 0 :(得分:1)
这里解释了array_rand函数:
http://php.net/manual/en/function.array-rand.php
因此2指定了您要选择的条目数。
数字1代表数组rand_keys中的索引1并且您没有再次定义输入,您只是访问输入数组中的值。
希望这有帮助!
答案 1 :(得分:0)
如果您对功能有疑问,请阅读手册:array_rand
第二个论点描述如下:
num_req
指定要选择的条目数。试图挑选更多 元素比数组中的元素将导致
E_WARNING
级别 错误。
这行代码:
echo $input[$rand_keys[1]] . "\n";
打印出$input
的元素,其索引等于$rand_keys[1]
,$rand_keys
的第二个元素
答案 2 :(得分:0)
array_rand — Pick one or more random entries out of an array
'number'表示数组中随机值的数量。
答案 3 :(得分:0)
array_rand将为您提供数组中的一些随机条目。
在这种情况下,2指定您需要来自数组的两个随机条目。
[1]表示数组中的第二个元素。 (数组元素从0开始)
答案 4 :(得分:0)
array_rand()中的第二个参数表示:
从数组中挑选一个或多个随机条目,并返回随机条目的一个或多个键。
1代表索引1的数组中的元素。在这种情况下,它是数组中的第二个元素,因为它从0开始索引。
您没有再次定义任何内容,只是使用$input
数组中的第二个键从$random_keys
打印元素。
答案 5 :(得分: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
返回的第二个条目。
为什么我必须再次定义$ input,如果它是在$ rand_keys中定义的那样?
array_rand
仅会将条目作为key(s)
而不是值返回,如果您需要该值,那么您将$input
。
答案 6 :(得分: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.