У меня есть вопрос о том, как работает использование *array_shift* с fetchAll в цикле while в этом примере? Предполагаемый результат - просто получить данные из базы данных и использовать их для заполнения приложения CRUD.
Я понимаю, что *array_shift* удаляет первый результат массива, но я не уверен, почему это не влияет на результаты, возвращаемые в этом примере. Просто пытаюсь окунуться в этот процесс.
$pdo = Database::connect();
$sql = $pdo->prepare("SELECT * FROM contacts ORDER BY name ASC");
$sql->execute();
$result = $sql->fetchAll(PDO::FETCH_ASSOC);
$contacts = array();
while ($obj = array_shift($result)) {
$contacts[] = $obj;
}
return $contacts;
$contacts = $sql->fetchAll(PDO::FETCH_ASSOC)
? Это было бы эквивалентно тому, что вы делаете. - person Explosion Pills   schedule 02.01.2014$result
и устанавливает его в$obj
. Это делается в цикле. Когда$result
пусто,array_shift
вернет ложное значение и разорвет цикл - person Explosion Pills   schedule 02.01.2014