2014-09-29 75 views
1

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

'PHP 4.3' --- oh shi ....最后的4.3版本于2005年发布 – zerkms 2014-09-29 03:09:03

+0

也许(希望!)他的意思是5.3? 4.3不支持PDO,这是我认为他在这里使用的。 – duskwuff 2014-09-29 03:19:52

+0

oops 5.3,我的不好 – JenStar23 2014-09-29 03:21:14

回答

2

并非所有的PHP版本支持这种语法,它更好地坚持以传统的方式:

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

$allUsers = array(); 

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

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

啊啊谢谢,我试过了:$ allUsers =('userID'=> users ['userID']);我很亲密 – JenStar23 2014-09-29 03:10:44

+0

@ JenStar23欢迎和祝你好运;) – meda 2014-09-29 03:19:28

+0

现在作品再次感谢:-) – JenStar23 2014-09-29 03:24:00

1
$allUsers = []; 

是一样

$allUsers = array(); 

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

哦,内环路的分配也需要改变,以较旧的格式

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

错字,它是PHP 5.3 – JenStar23 2014-09-29 03:22:04

1

试试这个,没有测试,

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

文档说[] synax实施了5.4之后的d。