Каков наилучший метод для преобразования массива PHP в строку?
У меня есть переменная, $type
которая является массивом типов.
$type = $_POST[type];
Я хочу сохранить его как одну строку в моей базе данных с каждой записью, разделенной |
:
Спорт | Фестивали | Другие
Ответы:
Используйте взорваться
источник
$_POST
если вы используете входные данные с именами массивов.Вы можете использовать json_encode ()
Позже просто используйте json_decode () для декодирования строки из вашей БД. Все остальное бесполезно, JSON сохраняет связь массива для последующего использования!
источник
ПОЧЕМУ JSON: Вы можете использовать его с большинством языков программирования, строка, созданная функцией serialize () php, доступна только для чтения в PHP, и вам не понравится хранить такие вещи в ваших базах данных, особенно если база данных используется совместно приложениями, написанными на разные языки программирования
источник
Нет, вы не хотите хранить его как одну строку в вашей базе данных.
Вы можете использовать,
serialize()
но это сделает ваши данные труднее искать, труднее работать и тратить пространство.Вы могли бы также сделать некоторую другую кодировку, но она обычно подвержена той же проблеме.
Причина, по которой у вас есть БД, заключается в том, что вы можете выполнять такую работу тривиально. Вам не нужна таблица для хранения массивов, вам нужна таблица, которую вы можете представить в виде массива.
Пример:
Вы просто выбрали бы данные из таблицы с помощью SQL, а не имели бы таблицу, которая выглядит следующим образом:
Это не то, как кто-либо разрабатывает схему в реляционной базе данных, это полностью отрицает ее цель.
источник
''
вместо\'
?Один из лучших способов:
источник
json_decode
путается с форматом, вызывающим путаницу.implode () :
Тем не менее, Incognito прав, вы, вероятно, не хотите хранить его таким образом - это полная трата реляционных возможностей вашей базы данных.
Если вы не уверены в сериализации, вы можете также рассмотреть возможность использования json_encode ()
источник
Этот сохраняет ключи и ценности
Надеюсь, это кому-нибудь поможет.
источник
теперь вы можете вставить это значение $ string_array в базу данных
источник
Для хранения ассоциативных массивов вы можете использовать
serialize
:И загрузить с помощью
unserialize
:Но если вам нужно создать динамические
.php
файлы с массивом (например, файлы конфигурации), вы можете использоватьvar_export(..., true);
, как это:Сохранить в файл:
Получить значения массива:
источник
Вы можете использовать строковую функцию PHP
implode()
Подобно,
Если, например,
$sports='football';
$festival='janmastami';
$food='biriyani';
Тогда вывод будет:
football|janmastami|biriyani
Для получения более подробной информации о функции PHP implode () обратитесь к w3schools
источник
Есть много способов ,
Два лучших способа для этого
источник