Dizilerle çalışmaya

4 Cevap

I currently do a query which goes through the records and forms an array. the print_r on query gives me this

print_r($query) yields the following:

Array (
[0] =>  ( [field1] => COMPLETE [field2] => UNKNOWN [field3] => Test comment )
[1] =>  ( [field1] => COMPLETE [field2] => UNKNOWN [field3] => comment here ) 
[2] =>  ( [field1] => COMPLETE [field2] => UNKNOWN [field3] => checking ) 
[3] =>  ( [field1] => COMPLETE [field2] => UNKNOWN [field3] => testing ) 
[4] =>  ( [field1] => COMPLETE [field2] => UNKNOWN [field3] => working )
)

nedense ben bu diziyi alıp php onu geri dönüştürmek istiyorum. Bu gibi Yani, örneğin bazı şey

$myArray = array( ...)

then $myArray should yield the samething as the print_r($query) yeilds. Thanks

4 Cevap

Ben burada PHP deneyimini küçümseyen, ama .... olabilir

Haklısınız, $ sorgu, bir dizi olduğunu farkında mısın? Sadece bir şey için print_r () kullanmadan $myArray = $query yapabilirsiniz.

Eğer geri metin ve dönüştürmek gerekir mi? Bir yerde muhafaza edilmesi gerekir mi? Eğer öyleyse, (tefrika veya json) farklı bir format kullanabilir?

Kullanın:

$phpcode = "\$myarray = " . var_export($query, true) . ";";

Bu PHP kodu sizin $ sorgu dizisinin bir dize temsilini döndürür.

PS. You're not thinking of using eval() üzerine daha sonra, siz?

$filedata = serialize($query);
// write $filedata to a file

Sonra başka bir dosyada:

// some other php file
// read in the filedata
$filedata = file_get_contents("file.dat");
$query = unserialize($filedata);

Bu benim PHP içine bir dizinin bir dize temsilini dönüştürerek kastetti budur. Aslında print_r çıkışını dönüştürmek istiyorsanız, o zaman bazı ciddi regex yapmak gerekir.