简单的随机变量php没有重复

时间:2017-04-19 13:18:09

标签: php random

我有一个简单的问题,我想制作一些代码,因为它不可能打印两个相同的变量,如:

var ans = await client.GetStringAsync(uri);
    JToken[] JSONResponseWeb = new JToken[1];
    JToken[] JSONResponseImage = new JToken[1];
    var responseResult = JToken.Parse(ans);
    // Check if you have a null value anywhere in these parameters. This doesn't assume any handling for null values you'll have to figure that out on your end.  Add en else statement and go to town. 
    if (responseResult?["webPages"]?["value"] != null)
    {
        JSONResponseWeb = responseResult ["webPages"]["value"].ToArray();
    }

    if (responseResult?["images"]?["value"] != null)
    {
        JSONResponseWeb = responseResult ["images"]["value"].ToArray();
    }

它应该只混合它们,因为每次3个文件改变位置但不重复。

正确答案是:

2.php
2.php
3.php

4.php
2.php
3.php

代码如下所示:

3.php
4.php
2.php

2 个答案:

答案 0 :(得分:2)

您可以使用shuffle()功能:

$first = '2.php';
$second = '3.php';
$third = '4.php';

$array = array($first, $second, $third);
shuffle($array);

foreach($array as $el) {
    echo $el . PHP_EOL;
}

以下是工作代码:https://3v4l.org/V2GTk

答案 1 :(得分:0)

我不确定我理解你想要完成什么,但如果我理解了,你需要打印3个不同的数字而不重复任何数字。在每个输出的最后,添加" .php"扩展

$existing_numbers = [];

while( count( $existing_numbers ) < 2 ) { // Loop until we get 3 unique values
  $random_number = rand(0, 9);
  array_push( $existing_numbers, $random_number . '.php' );
  array_unique( $existing_numbers ); // Remove duplications from array
}

此代码尚未经过测试,但登录信息应该不错。