@lexstile

Можно ли структурировать полученные в sql данные?

Есть набор данных, который приходит при обычном sql-запросе:
Array
(
    [0] => Array
        (
            [letter] => а
            [syllable] => аа
            [a_amount] => 12319
            [s_amount] => 18
        )
    [1] => Array
        (
            [letter] => а
            [syllable] => аб
            [a_amount] => 12319
            [s_amount] => 438
        )

    [2] => Array
        (
            [letter] => б
            [syllable] => ба
            [a_amount] => 2344
            [s_amount] => 1625
        )
    [3] => Array
        (
            [letter] => б
            [syllable] => бв
            [a_amount] => 3243
            [s_amount] => 599
        )
)

Можно ли из него сделать массив массивов для удобства?
Чтобы каждая буква (letter) оказалась в новом массиве?
Должно получиться примерно так:
Array
(
	Array
	(
    [0] => Array
        (
            [letter] => а
            [syllable] => аа
            [a_amount] => 12319
            [s_amount] => 18
        )
    [1] => Array
        (
            [letter] => а
            [syllable] => аб
            [a_amount] => 12319
            [s_amount] => 438
        )
	),
	Array
	(
    [0] => Array
        (
            [letter] => б
            [syllable] => ба
            [a_amount] => 2344
            [s_amount] => 1625
        )
    [1] => Array
        (
            [letter] => б
            [syllable] => бв
            [a_amount] => 3243
            [s_amount] => 599
        )
	),
)
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
alekseyHunter
@alekseyHunter
Android developer
Можете сначала сделать запросы для каждой буквы, после этого из ответов создать массив.

Если php, тогда создайте цикл, в котором будут проверяться значение поля letter. Одинаковые добавляем в массив, если следующий элемент с другой буквой, добавляем предыдущий массив в общий массив.

$arr = array();
$temp_var = "";
$temp_arr = array();
foreach($array_sql as $element) {
if($temp_var == "")
$temp_var = $element["letter"];
$temp_arr[] = $temp_var;
else if ($element["letter"] == $temp_var)
$temp_arr[] = $temp_var;
else if ($element["letter"] != $temp_var) {
$arr[] = $temp_arr[];
$temp_arr = array();
$temp_var = $element["letter"];
$temp_arr[] = $temp_var;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы