За последние 24 часа нас посетили 52573 программиста и 1799 роботов. Сейчас ищут 907 программистов ...

Преобразование строки в массив

Тема в разделе "PHP для новичков", создана пользователем deromanok, 7 июн 2009.

  1. deromanok

    deromanok Активный пользователь

    С нами с:
    6 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    Доброго времени суток. Делаю на сайте теги. Возникла следующая проблема:
    Теги хранятся в строке БД и разделяются запятой.
    Нужно выбрать из каждой записи в БД поле tags вида: "php, mysql, html, css", и объединить все эти поля в один массив вида: array('php','mysql','html','css','php','html')
    Как это сделать?
    Пытался разделять explode(), и циклом присваивать элементам массива $tags тег, но то что надо не получается. Заранее спасибо за помощь.
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    храни теги в отдельной таблице и строй промежутучную связь многие-ко-многим. тогда и выборки будут быстрее и поиск грамотнее.
     
  3. deromanok

    deromanok Активный пользователь

    С нами с:
    6 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    Спасибо за совет, но все же как сделать то что я описал в моем случае?
     
  4. deromanok

    deromanok Активный пользователь

    С нами с:
    6 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    Хех, как всегда сам через пол часа проблему решил. :)

    PHP:
    1. $tags = array();
    2. do {
    3.     $explode = explode ( ", ", $row ["article_tags"] );
    4.     $count = count ( $explode );
    5.     for($i = 0; $i < $count; $i ++) {
    6.         array_push($tags, $explode [$i]);
    7.     }
    8. } while ( $row = mysql_fetch_assoc ( $sql ) );
     
  5. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    manual
    и есть еще array_merge