Was ist die beste Methode zum Konvertieren eines PHP-Arrays in einen String?
Ich habe die Variable, $type
die ein Array von Typen ist.
$type = $_POST[type];
Ich möchte es als einzelne Zeichenfolge in meiner Datenbank speichern, wobei jeder Eintrag durch Folgendes getrennt ist |
:
Sport | Festivals | Andere
Antworten:
Verwenden Sie einfach implode
quelle
$_POST
wenn Sie Formulareingaben mit Array-Namen verwenden.Sie können json_encode () verwenden
Verwenden Sie später einfach json_decode () , um die Zeichenfolge aus Ihrer Datenbank zu dekodieren. Alles andere ist nutzlos. JSON behält die Array-Beziehung für die spätere Verwendung bei!
quelle
WARUM JSON: Sie können es mit den meisten Programmiersprachen verwenden. Die mit der Funktion serialize () von PHP erstellte Zeichenfolge ist nur in PHP lesbar, und Sie möchten solche Dinge nicht in Ihren Datenbanken speichern, insbesondere wenn die Datenbank von Anwendungen gemeinsam genutzt wird, in die geschrieben wurde verschiedene Programmiersprachen
quelle
Nein, Sie möchten es nicht so als einzelne Zeichenfolge in Ihrer Datenbank speichern.
Sie könnten verwenden,
serialize()
aber dies erschwert die Suche, die Arbeit mit Ihren Daten und verschwendet Speicherplatz.Sie können auch eine andere Codierung durchführen, diese ist jedoch im Allgemeinen für dasselbe Problem anfällig.
Der ganze Grund, warum Sie eine Datenbank haben, ist, dass Sie diese Arbeit trivial ausführen können. Sie benötigen keine Tabelle zum Speichern von Arrays, sondern eine Tabelle, die Sie als Array darstellen können.
Beispiel:
Sie würden einfach die Daten aus der Tabelle mit SQL auswählen, anstatt eine Tabelle zu haben, die wie folgt aussieht:
Auf diese Weise entwirft niemand ein Schema in einer relationalen Datenbank, es macht den Zweck des Schemas völlig zunichte.
quelle
''
statt\'
?Einer der besten Wege:
quelle
json_decode
er das Format durcheinander bringt und Verwirrung stiftet.implode () :
Incognito hat jedoch Recht, Sie möchten es wahrscheinlich nicht so speichern - es ist eine völlige Verschwendung der relationalen Leistung Ihrer Datenbank.
Wenn Sie beim Serialisieren nicht mehr weiterkommen, können Sie auch die Verwendung in Betracht ziehen weiterkommen json_encode () verwenden.
quelle
Dieser speichert KEYS & VALUES
Hoffe es hilft jemandem.
quelle
Jetzt können Sie diesen $ string_array-Wert in die Datenbank einfügen
quelle
Für assoziative Speicherarrays können Sie Folgendes verwenden
serialize
:Und laden mit
unserialize
:Wenn Sie jedoch Dinamic-
.php
Dateien mit Array erstellen müssen (z. B. Konfigurationsdateien), können Sie Folgendes verwendenvar_export(..., true);
:In Datei speichern:
Array-Werte abrufen:
quelle
Sie können die PHP-String-Funktion verwenden
implode()
Mögen,
Wenn zum Beispiel
$sports='football';
$festival='janmastami';
$food='biriyani';
Dann wäre die Ausgabe:
football|janmastami|biriyani
Weitere Informationen zur Funktion PHP implode () finden Sie unter w3schools
quelle
es gibt viele Wege ,
Zwei beste Möglichkeiten dafür sind
quelle