Intereting Posts
Просмотр генерации и зарезервированных имен в PHP как создать кеш-память на стороне сервера в php? Создание сводного отчета о полосе Каковы преимущества / недостатки монолитного кодирования PHP по сравнению с небольшими специализированными скриптами php? Акцентированные символы, не показывающие при использовании imagettftext с otf, но показывающие с ttf Oracle: как эффективно выбирать строки, используя список ключей Введите текст как изображение как изображение Использование if (isset ($ _ POST )), чтобы не отображать эхо, когда скрипт открыт, не работает PHP не может подключиться к PostgreSQL на CentOS 7 Как вы можете избежать вставки нулевой записи в базу данных с помощью ассоциации «один ко многим» с использованием доктрины? ZF2, передать переменную пользовательскому элементу из контроллера Лучший способ случайного выбора пары ключей и значений из массива в PHP Экспорт файла excel с использованием PHPExcel, работающего на моем локальном компьютере, но не работающего на реальном сервере Передайте переменную в URL ресурса Assetic в Symfony2 Как я могу предотвратить срабатывание функции Ajax несколько раз при нажатии?

структура массива результатов базы данных

Это может быть довольно тривиальный вопрос, но какой из этих методов является наилучшей практикой для структурирования массива для результатов возврата db? скажем, список сообщений в блогах … Сортировка и группировка сообщений? или сортировки и группировки элементов?

Array ( [title] => Array ( [0] => Untitled [1] => Untitled ) [id] => Array ( [0] => 8 [1] => 11 ) ) 

или

 Array ( [0] => Array ( ['id']=> 8 ['title'] => Untitled ) [1] => Array ( ['id']=> 11 ['title'] => Untitled ) ) 

Первый способ кажется самым простым и тем, как я это делал. Я могу просто:

 while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $post['title'][] = $row['title']; $post['id'][] = $row['id']; } 

а потом

 $count = count($post['id']); 

но второй способ кажется более понятным и более логично структурирует информацию. Просто немного сложнее настроить, фильтровать и работать с шаблоном.

 $c = 0; while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $post[$c]['title'] = $row['title']; $post[$c]['id'] = $row['id']; $c++; } 

Второй лучше и проще настроить:

 while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $posts[] = $row; } // total number of posts $nrPosts = count($post); 

Это будет автоматически индексировать массив численно, и вам не нужно копировать что-либо из $ row в $ post, он просто скопирует всю строку.

Вторая структура лучше:

  • Он логически группирует данные сообщения в структуру
  • Он не требует обработки данных, больше, чем начальное заполнение $ post-array
  • Вы можете легко обрабатывать любое количество сообщений в блоге с одним индексом / диапазоном индексов

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