声明的外部和内部循环中的数组在 php mysql 中给出了不同的结果


Array declared outside and inside loop gives different result in php mysql

为什么我的数组在 while 循环中会有不同的输出,就像它以 json 格式从数据库中获取所有数据一样,但是一旦我将 while 循环之外的数组声明为注释掉,它就会在 JSON 中给出输出单行?我错过了一些基本的东西还是什么?提前致谢

$query = "SELECT * from creative ORDER BY rand()";
$rs = mysql_query($query);
//$arr = array();
while ($obj = mysqli_fetch_object($rs)) {
    $arr[] = $obj;
    $cid = $arr -> id; //get id
} 
if (isset($imei) && !empty($imei)) {
$add = array('delay'=>"1800000"); //Add Objects to JSON Encoded Array
$arr[] = $add;
echo json_encode($arr);

你试过数组推送吗?

    $arr = array();
    while ($obj = mysqli_fetch_object($rs)) {
        //$arr[] = $obj;
        array_push($arr, $obj);
        //$cid = $arr -> id; //get id
    }