Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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_Zend Framework - Fatal编程技术网

PHP中带数组的随机数

PHP中带数组的随机数,php,arrays,zend-framework,Php,Arrays,Zend Framework,我想为数组实现一个随机数,让我们看看我是否清楚这一点: 我有 $array[0] = 'Hello'; $array[1] = 'Good Morning'; $array[2] = 'Good Afternoon'; $array[3] = 'Good Night'; $array[4] = 'Bye'; 我采用这种方式是因为这是我老板想要的方式,而不是数组(1=>'Hello',等等)。无论如何,我想要的是在数组中加入一个随机数,$array[random number],使用函数rand

我想为数组实现一个随机数,让我们看看我是否清楚这一点:

我有

$array[0] = 'Hello';
$array[1] = 'Good Morning';
$array[2] = 'Good Afternoon';
$array[3] = 'Good Night';
$array[4] = 'Bye';
我采用这种方式是因为这是我老板想要的方式,而不是数组(1=>'Hello',等等)。无论如何,我想要的是在数组中加入一个随机数,$array[random number],使用函数rand('0','99')作为示例

也许这样做:

$rand1 = rand('0','99');
$array['$rand1'] = 'Hello';
这行得通吗?谁有更好的主意或者请帮我找到解决办法

谢谢

这样行吗

No.Random!=唯一。如果同一个数字多次生成,则将覆盖现有数组元素

您还没有说明为什么要这样做,但是如果您要为数组寻找随机顺序,可以使用

如果需要从数组中获取随机元素,可以使用

这样行吗

No.Random!=唯一。如果同一个数字多次生成,则将覆盖现有数组元素

您还没有说明为什么要这样做,但是如果您要为数组寻找随机顺序,可以使用

如果您需要从数组中获取随机元素,可以使用。

您可以使用..假设您使用数组的长度作为最大值(并且您知道最小值),则您的技术将工作类似。

您可以使用..您的技术将工作类似,假设您使用数组的长度作为最大值(你知道最小值)。

不要选择rand(0,99),因为你会遇到错误。因为你的数组长度只有5

试试这个

<?php
$array[0] = 'Hello';
$array[1] = 'Good Morning';
$array[2] = 'Good Afternoon';
$array[3] = 'Good Night';
$array[4] = 'Bye';

shuffle($array);

for($i=0;$i<count($array);$i++)
  {
    echo($array[$i]);
    echo("<br>");
  }

?>

不要选择rand(0,99),因为u将遇到错误。因为数组长度只有5

试试这个

<?php
$array[0] = 'Hello';
$array[1] = 'Good Morning';
$array[2] = 'Good Afternoon';
$array[3] = 'Good Night';
$array[4] = 'Bye';

shuffle($array);

for($i=0;$i<count($array);$i++)
  {
    echo($array[$i]);
    echo("<br>");
  }

?>

我想你想做的事情可以简化如下:

// this is the same as creating an array: $array[0] = 'Hello'; $array[1] = 'Good Morning';
$array = array('Hello', 'Good Morning', ...etc...);

// array_rand will give you a random "key" from the array
echo $array[array_rand($array, 1)];

一些有助于分析这一点的资源:和。

我认为您想做的事情可以简化如下:

// this is the same as creating an array: $array[0] = 'Hello'; $array[1] = 'Good Morning';
$array = array('Hello', 'Good Morning', ...etc...);

// array_rand will give you a random "key" from the array
echo $array[array_rand($array, 1)];

一些有助于分析此问题的资源:和。

为什么不试试?您需要删除最后一行中
$rand1
周围的单引号,即
$array[$rand1]='Hello';
。为什么不试试呢?您需要删除最后一行
$rand1
周围的单引号,即
$array[$rand1]='Hello';
。我想他想用随机数分配数组键,而不是从数组中随机选择。对,迪普·拉吉,我想做的是:给每个数组分配一个随机数,我试图做的是从数组中的一个db中提取所有数据,所以每当它单击或刷新浏览器时,它总是会显示不同的参数,就像孩子们的测验,如果句子与时间匹配,他们需要匹配。@JMR,你试过Shuffle吗?我已经编辑了示例。每次刷新都会有不同顺序的元素。检查示例。我没有得到任何结果,只需断开html标记:(我想他想用随机数分配数组键,而不是从数组中随机选择。对,迪普·拉吉,我想做的是:给每个数组分配一个随机数,我想做的是从数组中的一个db中提取所有数据,所以每当它点击或刷新浏览器时,它总是会显示不同的参数,就像是给孩子们的测验一样,如果句子与时间匹配,则它们需要匹配。@JMR,您尝试过无序排列吗?我已经编辑了示例。每次刷新都会有不同顺序的元素。检查示例。我没有得到任何结果,只需断开html标记:(