Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: обновить массив
Форумы портала PHP.SU » » Вопросы новичков » обновить массив

Страниц (1): [1]
 

1. kuller - 07 Апреля, 2017 - 17:26:36 - перейти к сообщению
Помогите пожалуйста с решением... есть файл в котором записан массив

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $array = array(
  5.  
  6. 'test-1' => array('name_ru' => 'тест 1', 'name_en' => 'test-1', 'title' => 'USB модем ZTE mf623d', 'mdesc' => 'описание', 'key' => 'ключ'),
  7.  
  8. );
  9.  
  10. ?>
  11.  


средствами php надо этот массив обновить, что бы стало вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $array = array(
  5.  
  6. 'test-1' => array('name_ru' => 'тест 1', 'name_en' => 'test-1', 'title' => 'USB модем ZTE mf623d', 'mdesc' => 'описание', 'key' => 'ключ'),
  7.  
  8. 'test-2' => array('name_ru' => 'тест 2', 'name_en' => 'test-2', 'title' => 'USB модем ZTE mf623d', 'mdesc' => 'описание', 'key' => 'ключ'),
  9. );
  10.  
  11. ?>
  12.  


как это сделать?
2. Мелкий - 07 Апреля, 2017 - 18:02:57 - перейти к сообщению
Если без сохранения форматирования - то var_export.
3. Строитель - 07 Апреля, 2017 - 18:12:48 - перейти к сообщению
Мелкий, а простым присваиванием разве нельзя?
Спойлер (Отобразить)
4. Мелкий - 07 Апреля, 2017 - 18:22:43 - перейти к сообщению
Строитель, ну я так понял, что изменённый массив надо записать обратно в файл, при том, сохранить синтаксически корректным.
5. Строитель - 07 Апреля, 2017 - 18:26:51 - перейти к сообщению
Мелкий пишет:
Строитель, ну я так понял, что изменённый массив надо записать обратно в файл, при том, сохранить синтаксически корректным.
Тогда ещё вопрос, пожалуйста: разве после присваивания нарушается синтаксис массива? И разве обновлённый массив нельзя записать в файл? (сериализовать например перед записью)
6. Мелкий - 07 Апреля, 2017 - 18:44:22 - перейти к сообщению
var_export как раз сериализацией и занимается в меру своих возможностей. Сериализует по мере своих возможностей в валидный PHP-код.
Как менять до этого переменную - да как угодно.
7. Строитель - 07 Апреля, 2017 - 18:45:28 - перейти к сообщению
Мелкий, понял, спс )
8. Мелкий - 07 Апреля, 2017 - 18:49:24 - перейти к сообщению
Тьфу, не те пару букв написал, получился другой смысл сообщения.
Было
Цитата:
Если без сохранения форматировать - то var_export.

Должно было быть:
Цитата:
Если без сохранения форматирования - то var_export.

т.к. var_export форматирует массив только одним способом, не таким как в исходной задаче и это никак не настраивается. Зато просто вызов функции, без ручного вмешательства.
9. Строитель - 07 Апреля, 2017 - 19:02:38 - перейти к сообщению
Мелкий, если я всё верно понял, то в результате записи файл должен иметь такой вид:
Спойлер (Отобразить)


А это код для записи файла:
Спойлер (Отобразить)

 

Powered by ExBB FM 1.0 RC1