Разбор избыточного результата MySQL в структурированный массив - PullRequest
1 голос
/ 19 мая 2011

Мой запрос MySQL:

dbcol_a |dbcol_b dataA1 |dataB1dataA1 |dataB2dataA2 |dataB3dataA2 |dataB4dataA2 |dataB5

Я хочу разобрать структурированный массив так:

arcol_a |arcol_b dataA1 |dataB1---------- |dataB2dataA2 |dataB3---------- |dataB4---------- |dataB5

спасибо

Ответы [ 3 ]

3 голосов
/ 19 мая 2011

Это должно сделать это:

$desired_array = array();
foreach ($query_output as $value)
{
  $desired_array[$value['arcol_a']][] = $value['arcol_b'];
}

Таким образом вы добавляете каждое значение во втором столбце в массив с индексом первого столбца.

1 голос
/ 19 мая 2011
$arr = array();

while($row = mysql_fetch_assoc($result)) {
   if(isset($arr[$row['arcol_a']])) {
    $arr[$row['arcol_a']][] = $row['arcol_b'];
  } else {
    $arr[$row['arcol_a']] = array($row['arcol_b']);
  }
}
1 голос
/ 19 мая 2011
  1. Создайте хеш-таблицу с именем arcol_a_array.
  2. . Просмотрите ваши данные.Для каждой строки проверьте и посмотрите, является ли текущее значение arcol_a ключом в массиве arcol_a_array.Если нет, добавьте это.Значением этого ключа должен быть массив с одним элементом - значением текущей строки arcol_b
  3. Если в хеш-таблице arcol_a_array было значение arcol_a, измените массив, добавив новое значениеот arcol_b.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...