首页 > 解决方案 > 尽管我在那里添加了数据,但为什么此时数组始终为空?

问题描述

$result = mysqli_query($con, "SELECT * FROM users");
$usersArray=[];
tableArrayPushData($result, $usersArray);

function tableArrayPushData($result, $tableArray){
    while ($row = $result->fetch_assoc()) {
        $str = '';
        foreach ($row as $value) {
            $str = $str.$value.'|';
        }
        $newStr = rtrim($str, "| ");
        array_push($tableArray,$newStr);
    }
}


for ($i=0; $i<count($usersArray); $i++){//array is always empty at this point
    echo "Ok";
    echo "<br>";
}

我不明白为什么,但usersArray尽管我在那里添加了数据,但它是空的。

MySQL 表有数据行,所以不能为空。

标签: phpmysql

解决方案


您应该使用&运算符来允许函数访问外部变量,如下所示:

function tableArrayPushData($result, &$tableArray) {}

或使用return.


推荐阅读