将从函数中创建的值添加到数组中:PHP

4
现在我有一个能够生成 0 到 1 之间随机数的函数, 这些数字已经被显示出来,但显示效果不够整洁。 它们被以以下方式显示:
0.53877228150880.596439828589210.552455397945230.777443517235050.0105479111044660.599950280560520.991422391976530.167267204630470.259013057761240.52319398085771

我希望能够将数值存储到数组中,以便我可以进一步处理它们。

以下是我的代码:

<?php
header("Content-type: text/json");

function random_float($min,$max) 
{
  // $r_array =  ;
   $r_array  = ($min+lcg_value()*(abs($max-$min)));
   echo json_encode($r_array) ;
}


for ($i=0; $i<10; $i++)
{

  random_float(0,1) ;
}

?>

尽管我能够获取到单独的值数组,但我无法将这些值添加到单个数组中。

预期输出:

预期输出应该类似于:

[0.5387722815088, 0.59643982858921, 0.55245539794523, 0.77744351723505, 0.010547911104466,  0.59995028056052, 0.99142239197653, 0.16726720463047, 0.25901305776124, 0.52319398085771]
2个回答

2

这应该可以工作

header("Content-type: text/json");

function random_float($min,$max) 
{
  // $r_array =  ;
   $r_array  = ($min+lcg_value()*(abs($max-$min)));
   return $r_array;
//    echo json_encode($r_array) ;
}

$array = [];
for ($i=0; $i<10; $i++)
{

  $array[] = random_float(0,1) ;
}
echo json_encode($array) ;

输出

[0.9998815681439768,0.3570341541889031,0.4645344811447275,0.6411550648177741,0.5071643975962473,0.7722400176344946,0.814821318580633,0.6588660718711201,0.1678138905310088,0.6427063115962541]

2
在循环之前初始化数组 $array = []; - splash58
1
完美!太顺畅了。 - Chempooro

1
这里是您修正后的代码,可获得预期输出。
<?php
header("Content-type: text/json");
    function random_float($min,$max) {
        return ($min+lcg_value()*(abs($max-$min)));
    }
    for ($i=0; $i<10; $i++) {
        $r_array[] = random_float(0,1) ;
    }
    echo json_encode( $r_array )
?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接