Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中从数组中获取随机字符串_Php_Arrays_Random - Fatal编程技术网

在php中从数组中获取随机字符串

在php中从数组中获取随机字符串,php,arrays,random,Php,Arrays,Random,好的,我得到了这个数组,我想每次都从中得到一个随机数组。 我查了一下,得到了一个答案,但它并没有在我的网站上显示我想要什么 数组位于名为$statusarray的变量中,当我打印此变量时,我得到以下结果: Array( [0] => aa [1] => bb [2] => cc [3] => dd [4] => ee [5] => ff ) 我知道你是这样做的,$randomstatus=array\u ran

好的,我得到了这个数组,我想每次都从中得到一个随机数组。 我查了一下,得到了一个答案,但它并没有在我的网站上显示我想要什么

数组位于名为
$statusarray
的变量中,当我打印此变量时,我得到以下结果:

Array(
    [0] => aa
    [1] => bb
    [2] => cc
    [3] => dd
    [4] => ee
    [5] => ff
)
我知道你是这样做的,
$randomstatus=array\u rand($statusarray,1)
从数组中获取一个随机条目,如所写。 然后我打印或回显它

但是,当我这样做时,它会产生一个1-5之间的随机数,然后后跟
NULL

我的代码有什么问题,或者有其他方法吗

提前谢谢。

试试看

$statusarray = array('aa', 'bb', 'cc', 'dd', 'ee', 'ff');
$randomstatus = array_rand($statusarray, 1);
echo $statusarray[$randomstatus];
这将返回数组键。对于必须使用的数组值

echo $statusarray[$randomstatus];

上面的行将把数组值作为另一个变量进行回显-您可以对数组使用
shuffle()
方法。也许会容易些。。
请参阅文档:

请阅读文档:。它说数组只返回一个索引,所以如果你想要一个值,你必须告诉数组:
$statusarray[$index]
。为什么把2放在第二行。我想这会给你数组中的两个条目。然而,当我在网站上这样做时,只有一个出现。你能解释一下这背后的程序逻辑吗?@MasayukiTonoki是的,第二个参数
2
将返回2个条目。我已经更新了我的答案。我不知道为什么,但是由于某种原因,我在字符串后面得到了NULL。你知道为什么吗?我必须放2,否则不管空位是多少,只有空位出现,但我仍然需要放2,否则我将无法从数组中获得一个条目。是的,你需要放2Doesn,这不只是无序排列数组的顺序吗,不从数组中提供随机字符串。您告诉过:
我每次都想从数组中获取随机数组
:),但即使您只想从数组中获取一个随机元素,也可以使用shuffle。例如
suffle($array)$randomElement=$array[0]
对不起,我的错。犯了一个错误对不起,这不起作用。上面写着警告:非法的偏移类型
echo $statusarray[$randomstatus];