Привет У меня есть файл класса, который содержит функцию для извлечения пользователей из базы данных mySQL. Код выглядит следующим образом:PHP, итерация через массив, возвращаемый функцией
class userdbase
{
public function fetchUsers()
{
$db = new mysqli('localhost', 'user', 'pass', 'dbase');
if($db->connect_errno > 0)
{
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = "SELECT username from `users`";
if(!$result = $db->query($sql))
{
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc())
{
$users[] = $row['username'];
}
$result->free();
$db->close();
return array($users);
}
}
выше код возвращает массив в следующем используя print_r ($ dbase-> fetchUsers()):
Array
(
[0] => Array
(
[0] => user1
[1] => user2
[2] => user3
)
)
У меня возникли проблемы зацикливания через массив из основной файл, где я ссылаюсь на функцию в классе. Код, я использую выглядит следующим образом:
<?php
require("dbase.php");
$dbase = new userdbase();
foreach($dbase->fetchUsers() as $result) //this doesn't work
{
print "$result";
}
?>
Может кто-то более сведущий в PHP указать мне правильный способ сделать это? Спасибо заранее!
Сообщение структуры массива в '$ dbase' –
' возвращения массива ($ пользователей); 'возвращение это с другим гнездованием является излишним. 'return $ users;' должно быть достаточно – Ghost
Спасибо, Ghost, я упустил это и решил проблему. – datether