Это может быть довольно тривиальный вопрос, но какой из этих методов является наилучшей практикой для структурирования массива для результатов возврата 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, он просто скопирует всю строку.
Вторая структура лучше:
Не использовать структуру данных, которая не выглядит правильной, когда вы ее выводите. Второй набор данных также более удобен, поэтому он используется в больших проектах, таких как WordPress.