Diziyi Metin Olarak Depolama ve Geri Dönüştürme

<?php
class diziDepola{
	function dizidenMetine($dizi,$baskila=0,$doldur='',$sekme=1) {  
		$t=null;
		if (!$doldur) {  
			$metinDondur='array(';  
		}  
		$n=rand();  
		$calis[$n]=0;  
		for($i=0;$i<$sekme;$i++) { 
			$t.="\t"; 
		}  
		foreach ($dizi as $anahtar => $deger) {  
				if (!$calis[$n]) {  
		$c='';  
				} else {  
		$c=', ';  
				} 
				$calis[$n]++;  
				if (is_array($deger)) {  
		$metinDondur.=$c."\n".$t.'\''.$anahtar.'\' => array('.dizidenMetine($deger,$baskila,1,$sekme+1);  
		continue 1;  
				}  
				$metinDondur.=$c."\n".$t.'\''.$anahtar.'\' => \''.$deger.'\'';  
		}	  
		if (!$doldur) {  
				$metinDondur.=');'."\n";  
		} else {  
				$metinDondur.=')';  
		}  
		if ($baskila) {  
				return gzcompress($metinDondur, 9);  
		} else {  
				return $metinDondur;  
		}  
	}  
	function metindenDiziye($dizitxt,$baskicoz=0) {
		if (!$dizitxt) {return array();}
		if ($baskicoz) {  
			eval('$return_array = '.gzuncompress($dizitxt));  
			return $return_array;  
		} else {  
			if (!eval('$return_array = '.$dizitxt)) {
				print '<h2>metindenDiziye HATA</h2>';
				print $dizitxt;exit;
			}
			return $return_array;  
		}  
	}  
}
$diziDepola = new diziDepola;
$baskila = 1;// (0 veya 1)
$dizi=array("merhaba nasilsiniz",1,23,6);
$dizi_text = $diziDepola->dizidenMetine($dizi,$baskila);
echo $dizi_text."<br>";
$baskicoz = 1;// (0 veya 1)
$dizi = $diziDepola->metindenDiziye($dizi_text,$baskicoz);
print_r($dizi);
?>

Çıktısı

xÚK,*J¬ÔàâT7PW°µSPÏM-ÊHLJTÈK,ÎÌ)ÎÌˬR×QJB¤ !<#ÏÈÂ5†pÍÔ5­¹T•
Array ( [0] => merhaba nasilsiniz [1] => 1 [2] => 23 [3] => 6 )

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.