Jaka jest najlepsza metoda konwersji tablicy PHP na ciąg?
Mam zmienną, $type
która jest tablicą typów.
$type = $_POST[type];
Chcę przechowywać go jako pojedynczy ciąg w mojej bazie danych z każdym wpisem oddzielonym |
:
Sport | Festiwale | Inne
Odpowiedzi:
Po prostu użyj implode
źródło
$_POST
jeśli używasz formularzy o nazwie tablicowej.Możesz użyć json_encode ()
Później wystarczy użyć json_decode (), aby zdekodować ciąg z bazy danych. Wszystko inne jest bezużyteczne, JSON utrzymuje nienaruszoną relację tablicową do późniejszego użycia!
źródło
DLACZEGO JSON: Możesz go używać z większością języków programowania, łańcuch utworzony przez funkcję serialize () php jest czytelny tylko w PHP i nie będziesz chciał przechowywać takich rzeczy w swoich bazach danych, szczególnie jeśli baza danych jest współużytkowana przez aplikacje napisane w różne języki programowania
źródło
Nie, nie chcesz przechowywać tego jako jednego ciągu w swojej bazie danych.
Możesz użyć,
serialize()
ale spowoduje to, że Twoje dane będą trudniejsze do wyszukiwania, trudniejsze do pracy i marnuje miejsce.Możesz także wykonać inne kodowanie, ale ogólnie jest ono podatne na ten sam problem.
Głównym powodem posiadania DB jest to, że możesz wykonywać takie prace w trywialny sposób. Nie potrzebujesz tabeli do przechowywania tablic, potrzebujesz tabeli, którą możesz reprezentować jako tablicę.
Przykład:
Po prostu wybrałbyś dane z tabeli za pomocą SQL, zamiast tabeli, która wygląda następująco:
To nie jest sposób, w jaki ktokolwiek projektuje schemat w relacyjnej bazie danych, ale całkowicie nie spełnia jego celu.
źródło
''
zamiast\'
?Jeden z najlepszych sposobów:
źródło
json_decode
miesza się z formatem powodującym zamieszanie.implode () :
Jednak Incognito ma rację, prawdopodobnie nie chcesz go przechowywać w ten sposób - to całkowite marnowanie mocy relacyjnej bazy danych.
Jeśli nie możesz się zdecydować na serializację, możesz także rozważyć użycie json_encode ()
źródło
Ten zapisuje KLUCZE I WARTOŚCI
Mam nadzieję, że to komuś pomoże.
źródło
teraz możesz wstawić tę wartość $ string_array do bazy danych
źródło
Do tablic asocjacyjnych sklepu możesz użyć
serialize
:I załaduj za pomocą
unserialize
:Ale jeśli potrzebujesz stworzyć
.php
pliki dynamiczne z tablicą (na przykład pliki konfiguracyjne), możesz użyćvar_export(..., true);
:Zapisz w pliku:
Uzyskaj wartości tablic:
źródło
Możesz użyć funkcji łańcuchowej PHP
implode()
Lubić,
Jeśli na przykład
$sports='football';
$festival='janmastami';
$food='biriyani';
Następnie dane wyjściowe będą:
football|janmastami|biriyani
Aby uzyskać więcej informacji na temat funkcji PHP implode (), zobacz w3schools
źródło
jest wiele sposobów ,
są na to dwa najlepsze sposoby
źródło