добавить ключ => значение в ассоциативный массив в цикле?

0
while($tag = mysqli_fetch_assoc($result))
{
   $arrayresult[$tag['id']][$tag['name']] = $tag['count'];
}

$result содержит 4 строки из таблицы базы данных.

Я хочу, чтобы это было как:

$arrayresult[1]['mac'] = 34

$arrayresult[22]['pc'] = 32

$arrayresult[31]['windows'] = 14

$arrayresult[4]['linux'] = 23

приведенный выше код не работает, потому что он просто возвращает один элемент. кажется, что он сохраняет предыдущий.

как мне это сделать?

EDIT: print_r говорит

Array ( [4] => Array ( [linux] => 23 ) )
  • 2
    Что такое запрос, что print_r говорит после цикла while и откуда берется $tagcount ? Должно ли это быть $tag['count']; ? Если все хорошо, это должно работать хорошо.
  • 0
    Откуда берется $ tagcount?
Показать ещё 5 комментариев
Теги:
arrays

1 ответ

1
Лучший ответ

Нам нужно знать запрос, прежде чем мы действительно сможем вам помочь, но вам, вероятно, понадобится что-то вроде

while($tag = mysqli_fetch_assoc($result))
{
   $arrayresult[$tag['id']][$tag['name']]++;
}

или

while($tag = mysqli_fetch_assoc($result))
{
   $arrayresult[$tag['id']][$tag['name']] = $tag['count'];
}

это зависит от вашего запроса


Вопрос обновлен...

Проверьте запрос в phpmyadmin или что-то подобное. Код может работать нормально, возможно, у вас есть только данные, которые вы подозреваете.

Также посмотрим ваш запрос.

  • 0
    это тоже сработало! Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню