// La forma de tu estructura de datos podría ser esta: $datos = array( 'nokia'=> array( 'modelo1' => array('campo1'=>'valor1', ...) , 'modelo2' => array('campo1'=>'valor1', ...) , 'modelo3' => array('campo1'=>'valor1', 'campo2'=>'valor2', ...) , ... ), 'samsung'=> array( 'modelo1' => array('campo1'=>'valor1', ...) , 'modelo2' => array('campo1'=>'valor1', ...) , 'modelo3' => array('campo1'=>'valor1', ...) , ... ), ... ); // Por ejemplo para acceder al campo2 del modelo 3 de nokia: echo $datos['nokia']['modelo3']['campo2']; // Para guardar los datos en un archivo de forma que PHP lo haga todo, // sólo hay que hacer: file_put_contents('telefonos.dat', serialize($datos)); // Para volver a cargar los datos en una variable hay que hacer: $datos = unserialize(file_get_contents('telefonos.dat'));