【问题标题】:how to change $allUsers = [] to array()?如何将 $allUsers = [] 更改为 array()?
【发布时间】:2014-11-23 09:01:16
【问题描述】:

当前代码在本地主机上运行,​​因为它使用 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

【问题讨论】:

  • PHP 4.3 --- oh shi.... 最后一个 4.3 版本发布于 2005 年
  • 也许(希望如此!)他的意思是 5.3? 4.3不支持PDO,我觉得他这里用的就是这个。

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


【解决方案1】:

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

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

$allUsers = array();

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

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

【讨论】:

  • 啊谢谢,我试过了: $allUsers = ('userID' => users['userID']);我是如此接近
【解决方案2】:
$allUsers = [];

$allUsers = array();

适用于旧版本的 PHP。但是为什么你会在 21 世纪的现场使用 PHP 4.3 呢? :)

哦,您在循环中的分配也需要更改为旧格式

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

【讨论】:

    【解决方案3】:

    试试这个,没测试过,

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多