Intereting Posts
Кто-нибудь знает о плагине проверки орфографии для ckeditor, который использует aspell или аналогичную локальную службу вместо spellchecker.net? Каков наилучший способ слияния двух объектов PHP? Иногда вызов ajax изменяется с POST на GET PHPMailer – SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена PHP найти элемент ключа Пользовательское поле Drupal 7 сохраняет только первый символ Javascript, создающий имя пользователя с использованием входов Создание нескольких изображений с помощью PHP что может заставить curl возвращать false при попытке доступа к локальному файлу? Salesforce / PHP – массовое исходящее сообщение (SOAP), проблема с тайм-аутом – см. Обновление # 2 Как перемещать маркер на 100 метров с координатами Как загрузить в аккаунт Google Диска, а не пользователей Требуется замена отрицательной замены переменной ширины PHP MySQLi INSERT не работает, никаких ошибок jQuery Синхронизация часовых поясов FullCalendar

Mysqli fetch_assoc vs fetch_array

Когда я возвращаю одну строку из таблицы, чтобы собрать результаты, которые я обычно использую, например:

$info = $result->fetch_assoc(); 

В чем разница между этим и:

 $info = $result->fetch_array(); 

Есть ли причина использовать один над другим при возврате только одной строки, или это просто личное предпочтение?

Это все о производительности

fetch_array() возвращает один массив как с числовыми ключами, так и с ассоциативными строками (имена столбцов) , поэтому здесь вы можете использовать $row['column_name'] или $row[0]

Где, как fetch_assoc() будет возвращать строковый массив с индексированным строкой и без числового массива, поэтому у вас не будет возможности использовать числовые клавиши, такие как $row[0] .

Таким образом, последний лучше по производительности по сравнению с fetch_array() и, очевидно, использование названных индексов намного лучше по сравнению с числовыми индексами.

fetch_array возвращает значение с индексированием. Но Fetch_assoc просто возвращает значение.

например, fetch_array возвращает

 [0] => 11 [id] => 11 [1] => 2014-12-29 [date] => 2014-12-29 

здесь расположение массива 0 содержит 11, также это имя места 'id'.

то же самое происходит с fetch_assoc

 [id] => 11 [date] => 2014-12-29 

означает просто возвращает значение.

(PHP 5) От: http://php.net/manual/en/mysqli-result.fetch-array.php

mysqli_result :: fetch_array – mysqli_fetch_array – Получить строку результата как ассоциативный, числовой массив или оба

Таким образом, fetch_array() и fetch_assoc() могут быть фактически эквивалентными вызовами. Что касается производительности, я рекомендую использовать любой вызов, который приводит к получению более читаемого кода, и беспокоится только о производительности после того, как вы четко определили вызов как проблему производительности. Скорее всего, у вас есть более серьезные проблемы с производительностью, когда вы меньше всего этого ожидаете.