Есть ли причина перезаписывать переменную массива одним из своих элементов? - PullRequest
0 голосов
/ 24 апреля 2019

Я недавно "унаследовал" веб-приложение PHP, которое использует базу данных MySQL как часть своего бэкэнда.Проходя через код, я наткнулся на блок, который меня совершенно озадачил.

$results = array();
$results[] = $mysqli_result->fetch_array();
$results = $results[0];

return $results;

Итак, я получаю, что первые две строки инициализируют пустой массив и присваивают первую строку результатов из предыдущего запросаэтот новый массив.Но третья строка не имеет смысла для меня.Насколько я понимаю, fetch_array() захватывает только один ряд за раз;Я не могу думать о какой-либо причине иметь линию $results = $results[0];.Лучшее, что я могу придумать, это то, что это оставшийся код после того, как mysql_result было удалено.

Есть ли причина иметь эту третью строку?Заранее спасибо.

1 Ответ

1 голос
/ 24 апреля 2019

Нет, нет причин.Это просто обычный пример "кода новичка".когда вы не знаете, как это сделать правильно, вы пишете из того, что вы уже знаете.Правильная версия будет просто

$result = $mysqli_result->fetch_array();

Или, поскольку она возвращается сразу после присваивания, просто возвращайте ее напрямую, так как переменная $result не используется ни для чего другого

return  $mysqli_result->fetch_array();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...