Я не знаю, хорошо ли это название объясняет, вот чего я пытаюсь достичь.Создайте строковую версию массива
С помощью этого сценария людей может изменить значение переменной конфигурации на лета, как так:
Config::write('General.load', array('plugin1','plugin2'), true);
В этом примере он изменяет переменные конфигурации General.load в массив, и устанавливает 3-й param для true, что означает, что он может быть сохранен.
То, что я пытаюсь включить, - это метод сохранения части, когда пользователь вызывает Config::save()
, он перебирает любые переменные конфигурации, которые были записаны, и у которых был установлен третий параметр равным true.
Он отлично подходит для булеров, строк, целых чисел, поплавков и т. Д. Но когда дело доходит до массивов, по умолчанию он просто записывал бы «Array» в файл вместо «array ('plugin1', 'plugin2')».
Итак, я пошел дальше и начал разработку небольшого скрипта, который преобразует массивы в массив на основе строк.
Вот функция (я должен был поставить его на Pastebin, отформатированный странно здесь): http://pastebin.com/HsUG9n5D
Он работает, до некоторой степени.
Если поставить его с чем-то вроде этого:
$array_to_string = ''; $array = array( 'welcome', 'to', 'my', array('website') ); array_build($array_to_string, $array, 0); die($array_to_string);
Он будет:
array('welcome', 'to', 'my', array('website')),
Это почти сработало. Однако, если я вход что-то вроде этого:
$array_to_string = ''; $array = array( 'welcome', 'to', 'my', array('website'), array(array('goodbye', 'foo' => 'bar')) ); array_build($array_to_string, $array, 0); die($array_to_string);
Выход:
array('welcome', 'to', 'my', array('website')array(array('goodbye', 'foo' => 'bar'),))
Я прошел через код, и я не совсем уверен, что я могу сделать, чтобы это исправить , Переменные ссылки для меня все еще сложны.
Если у кого-то есть идеи о том, что я сделал неправильно, сообщите нам об этом.
Cheers.
var_export хорош, но это не так чисто, как я надеялся. Но если моя функция действительно не будет хорошей, я думаю, мне, возможно, придется согласиться на var_export. –