¿Cuál es el mejor método para convertir una matriz PHP en una cadena?
Tengo la variable $type
que es una matriz de tipos.
$type = $_POST[type];
Quiero almacenarlo como una sola cadena en mi base de datos con cada entrada separada por |
:
Deportes | Festivales | Otros
Respuestas:
Simplemente use implosión
fuente
$_POST
si está utilizando entradas de formulario con nombre de matriz.Puedes usar json_encode ()
Más tarde, simplemente use json_decode () para decodificar la cadena de su base de datos. ¡Cualquier otra cosa es inútil, JSON mantiene la relación de matriz intacta para su uso posterior!
fuente
POR QUÉ JSON: Puede usarlo con la mayoría de los lenguajes de programación, la cadena creada por la función serialize () de php es legible solo en PHP, y no le gustaría almacenar tales cosas en sus bases de datos, especialmente si la base de datos se comparte entre aplicaciones escritas en diferentes lenguajes de programación
fuente
No, no desea almacenarlo como una sola cadena en su base de datos así.
Podría usarlo,
serialize()
pero esto hará que sus datos sean más difíciles de buscar, más difíciles de trabajar y desperdicie espacio.También podría hacer otra codificación, pero generalmente es propenso al mismo problema.
Toda la razón por la que tiene una base de datos es para que pueda realizar un trabajo como este de manera trivial. No necesita una tabla para almacenar matrices, necesita una tabla que pueda representar como una matriz.
Ejemplo:
Simplemente seleccionaría los datos de la tabla con SQL, en lugar de tener una tabla que se vea así:
No es así como alguien diseña un esquema en una base de datos relacional, derrota totalmente el propósito del mismo.
fuente
''
lugar de\'
?Una de las mejores maneras:
fuente
json_decode
equivoca con el formato causando confusión.implosionar () :
Sin embargo, Incognito tiene razón, probablemente no quiera almacenarlo de esa manera: es un desperdicio total del poder relacional de su base de datos.
Si está empeñado en la serialización, también podría considerar usar json_encode ()
fuente
Este ahorra CLAVES Y VALORES
Espero que ayude a alguien.
fuente
ahora puede insertar este valor de $ string_array en la base de datos
fuente
Para las matrices asociativas de tienda puede usar
serialize
:Y carga usando
unserialize
:Pero si necesita crear
.php
archivos dinámicos con matriz (por ejemplo, archivos de configuración), puede usarvar_export(..., true);
, así:Guardar en archivo:
Obtener valores de matriz:
fuente
Puedes usar la función de cadena PHP
implode()
Me gusta,
Si, por ejemplo,
$sports='football';
$festival='janmastami';
$food='biriyani';
Entonces la salida sería:
football|janmastami|biriyani
Para más detalles sobre la función implode () de PHP, consulte w3schools
fuente
hay muchas maneras ,
dos mejores formas para esto son
fuente