Текущий код работает на 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
Не все версии PHP поддерживают этот синтаксис, лучше придерживаться традиционного способа:
$results = $dbc->query($sql);
$allUsers = array();
while($users = $results->fetch_assoc()) {
$allUsers[] = $users;
}
foreach ($allUsers as $user) {
echo $user['userID'];
}
$allUsers = [];
Такое же как
$allUsers = array();
Для более старых версий PHP. Но с какой стати вы будете использовать PHP 4.3 на живом сайте в 21 веке? 🙂
О ваше назначение в цикле также необходимо изменить на более старый формат
$allUsers[] = array(
'userID' => $users['userID']
);
Попробуй это, не проверял,
$allUsers = array(); // Instead of []
В документации сказано, что [] Synax был реализован после 5.4.