Se usó la función implode para que una matriz inserte el valor en DB.

$day1=implode(',',$day);
echo "day:".$day1;

$ day tiene un valor de matriz como {100,100}; ahora cambio esto como una cadena de 100.100 para insertar en la tabla. porque no puedo almacenar la matriz directamente en la tabla. Si hay alguna opción en lugar de implode () para cargar la matriz en DB, publíquela. de lo contrario, ayúdame qué tipo de datos se utiliza para almacenar en DB. No puedo usar int por comas.

php
0
Ram 8 sep. 2018 a las 08:10

4 respuestas

La mejor respuesta

Bajo el supuesto de que está utilizando MySQl, debería estar utilizando el tipo de datos TEXT, porque este tipo de datos no ofrece suposiciones sobre el tamaño de su inserción. Ahora, por supuesto, si desea calcular una longitud fija, siéntase libre de usar varchar, pero debido al ancho desconocido de sus números, tendría que sobreasignar de todos modos.

https://dev.mysql.com/doc/refman/5.5/en/blob.html

Almacenarlo como una cadena con números delimitados por una coma es un formato de almacenamiento adecuado, y debería funcionar bien, ya que al tratar con números no habría conflicto al recuperar los datos y luego volver a explotar el valor en una matriz usando la misma coma. delimitador

1
Uknemib 8 sep. 2018 a las 05:25

El implode () devuelve los elementos de la matriz concatenados en una sola cadena (http: // php. net / manual / es / function.implode.php). El campo de la base de datos debe ser de un tipo de texto (char, varchar, text) para almacenar el valor.

1
jeff 8 sep. 2018 a las 05:28

En esta situación, debe convertir la matriz en json y almacenarla en db. ex:

$data=("a","b","c");
$json_encode=json_encode($data);

Luego, recuperado de db, vuelve a convertirlo en matriz.

Por ejemplo:

$json_decode=json_decode($data,true);
0
Vaibhav S 8 sep. 2018 a las 05:16

$ array = array ('apellido', 'correo electrónico', 'teléfono');

$ comma_separated = implode (",", $ array);

Echo $ comma_separated; // apellido, correo electrónico, teléfono

// Cadena vacía cuando se usa una matriz vacía: var_dump (implode ('hello', array ())); // cadena (0) ""

0
Gazi Anis 8 sep. 2018 a las 09:08