Almacenar y recuperar una matriz multidimensional utilizando php y mysql
-
23-08-2019 - |
Pregunta
Tengo una matriz multidimensional en PHP como esto:
$array = array(
"Part1" => array(
"Subpart1" => array(0, 1),
"Subpart2" => array(1, 0)
),
"Part2" => array(0),
"Part3" => array(0, 1, 0)
);
Ahora quiero almacenar esta matriz en una tabla de MySQL y recuperar exactamente como esto otra vez en otra página PHP.
He estado tratando de utilizar serialize()
y unserialize()
$array= serialize($array);
y luego en la otra página
$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);
Pero me parece que hacer algo mal, al principio me dieron un var_dump
de bool (false) y ahora me sale un var_dump
de NULL .
Solución
Su código se ve bien ...
Una cosa que puede atrapar a salir es si su columna es demasiado pequeño - si utiliza VARCHAR (255) los datos se pueden truncar y no unserialize. Si se agrega el valor de $row['Array']
pude ver si es todo.
Otros consejos
Utilice la columna Tipo de texto. datos serializados menudo no se ajusta a VARCHAR (255).
Se puede usar JSON codificar, json_encode ($ array) y obtendrá un valor de cadena en notación JSON para que pueda almacenar en la base de datos y retrive y hacer un json_decode ($ cadena, true) para que cand convertir en una matriz de nuevo. Si usted no pasa el verdadero argumento de la json_decode, se convierte en una stdClass.
Esta es mi mesa en php / html. Necesito para almacenar y recuperar los detalles de php (p), Cantidad (q), velocidad (r) como un formato de tabla separada