获取错误无法将标量值用作数组

时间:2017-04-26 17:48:46

标签: php arrays

我想生成介于0和1之间的随机数,并将它们推送到二维数组。我收到了这个错误:

  

不能将标量值用作数组

这是我的代码:

<?php 

    $zero = $one = $rand = 0;
    $arr = array(array());

    for($i = 0; $i < 5; $i++) {
            $arr[$i] = $rand;

        for($j = 0; $j < 10; $j++) {
            $rand = mt_rand(0,1);
            if ($rand == 0) {
                $one++;
            } else {
                $zero++;
            }
            $arr[$i][$j] = $rand;
            echo $arr[$i][$j];
        }
            echo "<br/>";
    }
?>

1 个答案:

答案 0 :(得分:1)

$arr[$i]是一个标量值,因为你在这里给它一个整数:

$arr[$i] = $rand;

因为不是一个数组。但是你试图像一个抛出这个错误的数组一样访问它:

$arr[$i][$j] = $rand;

您需要将该值设为数组或使用其他变量来保存数组数据。但你不能同时做到这两件事。