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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Текст в ассоц. массив

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
magister
Отправлено: 11 Мая, 2016 - 17:18:53
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2016  


Помог: 0 раз(а)




Есть текст к примеру: Вова-слесарь
Петя-электрик
Света-дизайнер
Нужно преобразовать текст а ассоциативный массив (ключ Вова => значение слесарь)
Подскажите как это сделать. Преречень - то txt файл.
 
 Top
caballero
Отправлено: 11 Мая, 2016 - 20:01:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




очевидно присвоить элементу массива
А в чем проблема?
не найдете в докуметации что такое массивы или как файл прочитать?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Строитель
Отправлено: 11 Мая, 2016 - 21:32:50
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




magister пишет:
Нужно преобразовать текст а ассоциативный массив (ключ Вова => значение слесарь)
Имя файла base.txt замените на имя вашего текст.файла с данными
PHP:
скопировать код в буфер обмена
  1. $arr = [];
  2. foreach (file('base.txt') as $val) {
  3.     list($name, $prof) = explode('-', $val);
  4.     $arr[$name] = $prof;
  5. }
  6.  
  7. echo '<pre>'; print_r($arr);
  8.  
  9. /*
  10.  
  11. Array
  12. (
  13.     [Вова] => слесарь
  14.  
  15.     [Петя] => электрик
  16.  
  17.     [Света] => дизайнер
  18.  
  19. )
  20.  
  21. */
 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Мая, 2016 - 22:07:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1. $regexp = '/(?<=^|\r\n|\n)(.+)-(.+)(?=\r?\n|$)/';
  2. preg_match_all($regexp, file_get_contents('data.txt'), $m);
  3. print_r(array_combine($m[1], $m[2]));

(Добавление)
magister пишет:
Преречень - то txt файл.

И почему не ini ?
CODE (txt):
скопировать код в буфер обмена
  1. Вова=слесарь
  2. Петя=электрик
  3. Света=дизайнер

(Отредактировано автором: 11 Мая, 2016 - 22:17:15)

 
 Top
magister
Отправлено: 12 Мая, 2016 - 09:05:39
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2016  


Помог: 0 раз(а)




[quote=Строитель][/quote] Спасибо, и ваш и другой метод подошли.
(Добавление)
armancho7777777 пишет:
PHP:
скопировать код в буфер обмена
  1. $regexp = '/(?<=^|\r\n|\n)(.+)-(.+)(?=\r?\n|$)/';
  2. preg_match_all($regexp, file_get_contents('data.txt'), $m);
  3. print_r(array_combine($m[1], $m[2]));

(Добавление)
magister пишет:
Преречень - то txt файл.

И почему не ini ?
CODE (txt):
скопировать код в буфер обмена
  1. Вова=слесарь
  2. Петя=электрик
  3. Света=дизайнер



Спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB