Лучший способ записи массивов в файл?

Я хочу избежать записи в БД и использовать константы / массив для lang-файлов и т. Д.

то есть:

$lang = array ( 'hello' => 'hello world!' ); 

и иметь возможность редактировать его из бэк-офиса. (тогда вместо того, чтобы извлекать его из бедных db, я бы просто использовал $ lang ['hello'] ..).

что вы предлагаете для лучшего и эффективного способа его вытащить?

Определенно JSON

Чтобы сохранить его:

 file_put_contents("my_array.json", json_encode($array)); 

Чтобы вернуть его:

 $array = json_decode(file_get_contents("my_array.json")); 

Так просто !

самый эффективный способ, который я нашел, выглядит следующим образом:

создайте свой массив в php каким-то образом и экспортируйте его в файл с помощью var_export()

 file_put_contents( '/some/file/data.php', '<?php return '.var_export( $data_array, true ).";\n" ); 

то позже, где бы вы ни нуждались, эти данные тянут это так

 $data = include '/some/file/data.php'; 

Ну, если вы настаиваете на том, чтобы поместить данные в файлы, вы можете рассмотреть функции php serialize() и unserialize() а затем поместить данные в файлы с помощью file_put_contents .

Пример:

 <?php $somearray = array( 'fruit' => array('pear', 'apple', 'sony') ); file_put_contents('somearray.dat', serialize( $somearray ) ); $loaded = unserialize( file_get_contents('somearray.dat') ); print_r($loaded); ?> 

Вы можете попробовать json_encode() и json_decode() .

$save = json_encode($array);

написать содержимое $ save в файл

Для загрузки lang используйте:

 $lang = file_get_contents('langfile'); $lang = json_decode($lang, true);