如何将$ allUsers = []更改为array()?

时间:2014-09-29 03:03:08

标签: php mysqli foreach while-loop associative-array

当前代码适用于localhost,因为它使用PHP 5.4但我的实时网站使用PHP 5.3

任何人如何改变它以便它可以在我的实时网站上运行?

$results = $dbc->query($sql);

$allUsers = [];

while($users = $results->fetch_assoc()) {
    $allUsers[] = [
        'userID' => $users['userID']
    ];
};

foreach ($allUsers as $user) {

    echo '$user['userID']'; 
}

输出应该如下所示:

  

1

     

2

     

3

但目前看起来像这样:

  

3

3 个答案:

答案 0 :(得分:2)

并非所有PHP版本都支持这种语法,最好坚持传统方式:

$results = $dbc->query($sql);

$allUsers = array();

while($users = $results->fetch_assoc()) {
    $allUsers[] = $users;
}

foreach ($allUsers as $user) {
    echo $user['userID']; 
}

答案 1 :(得分:1)

$allUsers = [];

相同
$allUsers = array();

对于旧版本的PHP。但是,为什么你会在21世纪的现场网站上使用PHP 4.3? :)

哦,你在循环中的任务也需要改为旧格式

$allUsers[] = array(
    'userID' => $users['userID']
);

答案 2 :(得分:1)

试试这个,没有测试,

$allUsers = array(); // Instead of []

文档说[] synax是在5.4之后实现的。