Bir diziye PHP dizi dize dönüştürmek

4 Cevap php

I have an array:

$myArray = array('key1'=>'value1', 'key2'=>'value2');

I save it as a variable:

$fileContents = var_dump($myArray);

How can convert the variable back to use as a regular array?

echo $fileContents[0]; //output: value1
echo $fileContents[1]; //output: value2

4 Cevap

doğru cevabı olabilir serialize - ama ben JSON kullanarak tercih - verilerin insan düzenleme bu şekilde mümkün olacaktır ...

$myArray = array('key1'=>'value1', 'key2'=>'value2');
$serialized = json_encode($myArray);
$myNewArray = json_decode($serialized);
print_r($myNewArray); // Array ( [key1] => value1 [key2] => value2 )

Geçerli PHP sözdizimi oluşturmak için var_export kullanmayı deneyin, bir dosyaya olduğunu yazmak ve ardından dosyayı 'include':

$myArray = array('key1'=>'value1', 'key2'=>'value2');
$fileContents = '<?php $myArray = '.var_export($myArray, true).'; ?>';

// ... after writing $fileContents to 'myFile.php'

include 'myFile.php';
echo $myArray['key1']; // Output: value1

Nasıl eval hakkında? Ayrıca yerine var_dump gibi gerçek dönüş değişkeni ile var_export kullanmalısınız.

$myArray = array('key1'=>'value1', 'key2'=>'value2');
$fileContents = var_export($myArray, true);
eval("\$fileContentsArr = $fileContents;");
echo $fileContentsArr['key1']; //output: value1
echo $fileContentsArr['key2']; //output: value2