Los datos serializados en la base de datos mysql deben combinarse en una matriz

Estoy trabajando en PHP / MySQL.

Tengo una tabla en mi base de datos llamada cada hora en esa tabla, es una columna llamada dirección web, estas están serializadas. Hay varias filas de cada columna de webaddresses, cada una de ellas está serializada.

Necesito tirar de cada fila, desempaquetarlas y luego ponerlas en una matriz.

Intenté usar este fragmento de código pero solo toma 1 fila debido a las limitaciones de las funciones de PHP.

while ($row = mysql_fetch_array($results)) {$test = unserialize($row[0]);} 

Estaba pensando que algo así podría funcionar:

 while(($row = mysql_fetch_array($results)) !== FALSE) {$test[] = $row;} 

Eso no funcionó …

¿Cómo puedo agarrar cada fila, luego desempacarla y luego agregarla a una matriz? Solo necesito los datos en el campo web_addresses actualmente hay 3 filas de datos. Por lo tanto, habría 3 matrices serializadas en cada campo web_addresses que debo desesterializar y combinar en otra matriz. Espero que tenga más sentido.


Aquí está la tabla de MySQL:

 CREATE TABLE `hourly` ( `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `id` bigint(20) NOT NULL auto_increment, `month` longtext NOT NULL, `day` longtext NOT NULL, `year` longtext NOT NULL, `source` longtext NOT NULL, `web_address` longtext NOT NULL, `at_replies` longtext NOT NULL, `words` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1 

EDITAR: ahora refleja las actualizaciones basadas en la información del OP:

A partir de su pregunta, parece que cada fila tiene una columna serializada, y esa columna contiene una matriz serializada de tres elementos por filas. Entonces esto debería funcionar:

 $collection = array(); while ( $row = mysql_fetch_array($results)) { $values = unserialize($row[0]); # $values has unserialized the data into its own array with 3 items $collection = array_merge($collection, $values); } 

Si había tres filas de base de datos, y cada campo tenía una matriz serializada con tres elementos, $ collection ahora contiene una matriz con 9 elementos.

cámbielo a $test[] = unserialize($row[0]) .

Se deserializará sus datos en una matriz, y luego empujará esa matriz en la matriz $test . Para ver cómo se ve, después de su ciclo, agregue esta línea:

 print_r($test); 

Será algo como esto:

 array( [0] => array( // ... the first record's data ), [1] => array( // ... the second record's data ), // etc )