Задать вопрос
@vtema

Как вывести записи в массив?

В одном из столбцов таблицы БД есть наборы слов через запятую
"Слово 1", "Слово 2", "Слово 3" и т.д.
Я получаю их в переменную $words
Как сделать вывод этих слов в массив $all_wors, что бы можно было к ним обращаться не как к списку, а по отдельности.

Мой вариант был такой:
$all_wors = array($words);
Но при выводе, например,
echo $all_wors['2'];
не показывается вообще ничего на этом месте. С другими индексами тоже самое. В чём моя ошибка?
  • Вопрос задан
  • 2218 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@cisx
$all_wors = split(',', $words);
Ответ написан
Ошибка в том, что получается массив с одним элементом, содержащим всю строку. Строку надо разбивать по разделителю с помощью split().

Если элементы в кавычках, то надо потом еще делать trim() для убирания кавычек (передавать ему символы лишние помимо строки).

Если элементы в кавычках могут содержать запятые, то split() уже не поможет. Нужен более хитрый алгоритм. Можно попробовать поиграть с str_getcsv(), ибо данные как раз похожего на CSV формата.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
В одном из столбцов таблицы БД есть наборы слов через запятую

Вот это и есть главная проблема.

Слова эти должны лежать в отдельной таблице, в столбик.

Тогда и выбирать их будет просто.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы