多维数组php函数怎么写?

How to write multidimensinal array php function?

我需要创建一个函数来创建多维数组,行数和列数可调,每行生成随机数,也是可调的

我现在有这个尝试,但是好像进入了死循环:

function make($length,$start,$end)
{
    if ($length<abs($start-$end)+1){
        for ($i=0; $i < $length; $i++){
        while (!isset($array) || count($array)<$length){
            $vel=rand($start,$end);
            if (!isset($array) || !in_array($vel,$array)){
                $array[$i][]=$vel;
            }
        }
        }
    
            return $array;
            } else {
                return false;
            }
        }

请帮忙,我似乎无法弄清楚

您没有检查循环中正确的数组部分

function make($length,$start,$end)
{
    if ($length<abs($start-$end)+1){
        for ($i=0; $i < $length; $i++){
            while (!isset($array[$i]) || count($array[$i])<$length){
//                              ^^^^                 ^^^^
                $vel=rand($start,$end);
                if (!isset($array[$i]) || !in_array($vel,$array[$i])){
//                               ^^^^                          ^^^^
                    $array[$i][]=$vel;
                }
            }
        }
    
        return $array;
    } else {
        return false;
    }
}

print_r( make(5,10,30) );

结果

Array
(
    [0] => Array
        (
            [0] => 30
            [1] => 16
            [2] => 27
            [3] => 17
            [4] => 26
        )

    [1] => Array
        (
            [0] => 21
            [1] => 13
            [2] => 19
            [3] => 25
            [4] => 12
        )

    [2] => Array
        (
            [0] => 12
            [1] => 28
            [2] => 20
            [3] => 19
            [4] => 27
        )

    [3] => Array
        (
            [0] => 23
            [1] => 17
            [2] => 12
            [3] => 16
            [4] => 15
        )

    [4] => Array (
            [0] => 17
            [1] => 11
            [2] => 22
            [3] => 13
            [4] => 10
        )
)