【问题标题】:How to generate a random number array and sorting this array using php?如何生成一个随机数数组并使用 php 对该数组进行排序?
【发布时间】:2020-04-28 15:37:12
【问题描述】:

我想生成 5 个随机数数组,并像图片一样使用 php 短这个数组。

我正在使用此代码生成 1 个数组。

<?php

$array=array();
$array_temp=array();
$found=0;

while($found!=5):         
    $v=rand(1,20);               
    if(!in_array($v,$array)):   
        $array[]=$v;
        $array_temp[]=$v;            
        $found++;               
    endif;
endwhile;
print_r($array_temp);

for($j = 0; $j < count($array); $j ++) {
    for($i = 0; $i < count($array)-1; $i ++){

        if($array[$i] > $array[$i+1]) {
            $temp = $array[$i+1];
            $array[$i+1]=$array[$i];
            $array[$i]=$temp;
        }       
    }
}
print_r($array);

?>

【问题讨论】:

  • 嗨,我忘记添加代码了。对不起。现在代码有。
  • 我的回答对你有帮助吗?

标签: php arrays sorting


【解决方案1】:

使用此代码并在代码中查看我的 cmets:

// Generate array having 20 numbers from 1 to 20
$range = range(1, 20);
// Change the order of elements
shuffle($range);
// Split array into 4 chunks each having 5 elements
$unsorted = array_chunk($range, 4);
// Copy original array
$sorted = $unsorted;
// Sort copied array
array_walk($sorted, 'sort');

现在您有 2 个具有相同元素的数组,但其中一个数组已排序:

print_r($unsorted);

// prints:
Array
(
    [0] => Array
        (
            [0] => 14
            [1] => 10
            [2] => 3
            [3] => 9
        )

    [1] => Array
        (
            [0] => 8
            [1] => 7
            [2] => 19
            [3] => 16
        )

    [2] => Array
        (
            [0] => 11
            [1] => 20
            [2] => 5
            [3] => 12
        )

    [3] => Array
        (
            [0] => 15
            [1] => 4
            [2] => 2
            [3] => 18
        )

    [4] => Array
        (
            [0] => 17
            [1] => 6
            [2] => 1
            [3] => 13
        )

)

print_r($sorted);

Array
(
    [0] => Array
        (
            [0] => 3
            [1] => 9
            [2] => 10
            [3] => 14
        )

    [1] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 16
            [3] => 19
        )

    [2] => Array
        (
            [0] => 11
            [1] => 12
            [2] => 20
            [3] => 5
        )

    [3] => Array
        (
            [0] => 2
            [1] => 4
            [2] => 15
            [3] => 18
        )

    [4] => Array
        (
            [0] => 1
            [1] => 6
            [2] => 13
            [3] => 17
        )

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-13
    • 2016-08-15
    • 2013-01-28
    • 2021-06-10
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多