Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) 1 [2] 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Создать массив из текстового файла, В текстовом файле записаны ключи и значения
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (BuTOC_90 @ 21.03.2016 - 17:03)
просто в коде стоит у меня txt, и я особо не менял..

Ты не ответил на вопрос о происхождении этих данных - ты их сам пишешь или кто-то другой их создает и ты не можешь изменять формат.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5911
Пользователь №: 1
На форуме: 10 лет, 10 месяцев, 2 дня
Карма: 125

Не пью :
22 года, 3 месяца, 3 дня


Цитата (BuTOC_90 @ 21.03.2016 - 16:03)
значения пропадают

$arr = file(example.txt);
foreach($arr as $k=>$v)
{
if(stristr($v, ' => '))
{
$v = explode(' => ', $v);
$v[0] = explode("'", $v[0]);
$v[0] = count($v[0]) == 3 ? $v[0][1] : $v[0][0];
$v[1] = explode("'", $v[1]);
$v[1] = count($v[1]) == 3 ? $v[1][1] : $v[1][0];
$arr[$v[0]] = $v[1];
}
unset($arr[$k]);
}


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
BuTOC_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42712
На форуме: 8 месяцев, 19 дней
Карма:




Цитата (sergeiss @ 21.03.2016 - 18:12)
Ты не ответил на вопрос о происхождении этих данных - ты их сам пишешь или кто-то другой их создает и ты не можешь изменять формат.


да, могу поменять формат

он создаётся через функцию file_put_contents. могу поставить формат любой
Цитата (FatCat @ 22.03.2016 - 01:11)
$arr = file(example.txt);
foreach($arr as $k=>$v)
{
if(stristr($v, ' => '))
{
  $v = explode(' => ', $v);
  $v[0] = explode("'", $v[0]);
  $v[0] = count($v[0]) == 3 ? $v[0][1] : $v[0][0];
  $v[1] = explode("'", $v[1]);
  $v[1] = count($v[1]) == 3 ? $v[1][1] : $v[1][0];
  $arr[$v[0]] = $v[1];
}
unset($arr[$k]);
}


сейчас попробую, спасибо)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (BuTOC_90 @ 22.03.2016 - 08:17)
да, могу поменять формат

Ну так и поменяй!!!!!!!!!!!!!!

json_encode() & json_decode() тебе в руки. Сделаешь обработку данных, прочитанных из файла, в одну строку. Да и запись тоже будет в одну строку.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25994
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 25 дней
Карма: 725

Не курю:
1 год, 2 месяца, 12 дней


Цитата
json_encode() & json_decode()

да не)) это больше для упаковки данных при перемещении

вот

serialize()
unserialize()


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (Игорь_Vasinsky @ 22.03.2016 - 09:56)
да не)) это больше для упаковки данных при перемещении

По сути одно и то же. Но если он потом захочет эти данные отправить в JS вместо обработки в ПХП, то просто возьмёт и отправит, без переупаковки. Поэтому формат JSON мне больше нравится, как более универсальный.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
BuTOC_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42712
На форуме: 8 месяцев, 19 дней
Карма:




Цитата (sergeiss @ 22.03.2016 - 09:08)
Ну так и поменяй!!!!!!!!!!!!!!

json_encode() & json_decode() тебе в руки. Сделаешь обработку данных, прочитанных из файла, в одну строку. Да и запись тоже будет в одну строку.

Цитата (Игорь_Vasinsky @ 22.03.2016 - 09:56)
да не)) это больше для упаковки данных при перемещении

вот

serialize()
unserialize()

Цитата (sergeiss @ 22.03.2016 - 11:10)
По сути одно и то же. Но если он потом захочет эти данные отправить в JS вместо обработки в ПХП, то просто возьмёт и отправит, без переупаковки. Поэтому формат JSON мне больше нравится, как более универсальный.


да пока мис с тхт хоть разобраться. потом уже с другими разбираться форматами...



Цитата (BuTOC_90 @ 22.03.2016 - 08:17)
Цитата (FatCat @ 22.03.2016 - 01:11)
$arr = file(example.txt);
foreach($arr as $k=>$v)
{
if(stristr($v, ' => '))
{
  $v = explode(' => ', $v);
  $v[0] = explode("'", $v[0]);
  $v[0] = count($v[0]) == 3 ? $v[0][1] : $v[0][0];
  $v[1] = explode("'", $v[1]);
  $v[1] = count($v[1]) == 3 ? $v[1][1] : $v[1][0];
  $arr[$v[0]] = $v[1];
}
unset($arr[$k]);
}


сейчас попробую, спасибо)


всё заработало, спасибо большое!))
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5911
Пользователь №: 1
На форуме: 10 лет, 10 месяцев, 2 дня
Карма: 125

Не пью :
22 года, 3 месяца, 3 дня


Лучше сразу делать правильно: выводить в том формате, который удобно принимать.


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 6 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 16 дней


Цитата (FatCat @ 22.03.2016 - 14:34)
Лучше сразу делать правильно: выводить в том формате, который удобно принимать.

Тут соглашусь. Но вот эксперименты с парсингом весьма сомнительны.
А если так:
'name' => 'Ivan => 666',


И кстати, чем eval() не угодил? Ведь никто даже не спросил, откуда данные в файле и как они готовятся...


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5480
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 13 дней
Карма: 49




twin
ибо все, что не по шаблону - зло по-умолчанию!


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 6 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 16 дней


Ну тут ты не прав. FatCat никогда не отличался шаблонным мышлением. В данном случае eval() тоже не может быть правильным решением, потому что мало вводных.

Вот только когда их мало, начинается некоторая папранойя по поводу eval. Слишком много об этом пишут неразобравшись. Но ведь и рыбу фугу едят, и даже считают деликатесом, хотя если неправильно приготовить...


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5480
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 13 дней
Карма: 49




twin
тоже верно. Но я имел в виду тех, кто говорит, что eval НИКОГДА использовать не стоит. Их стоит отнести, пожалуй, к людям, с ООП головного мозга, и паттернами головного омзга


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (twin @ 22.03.2016 - 20:05)
Ведь никто даже не спросил, откуда данные в файле и как они готовятся...

Ну как бы я аж 2 (два!) раза это спросил... И даже ответ получил:
Цитата (BuTOC_90 @ 22.03.2016 - 08:17)
да, могу поменять формат


Потому и говорил про JSON, что я бы его стал использовать.


Это сообщение отредактировал sergeiss - 22.03.2016 - 22:25


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 299
Пользователь №: 40589
На форуме: 2 года, 5 дней
Карма: 20




Цитата (Zzepish @ 22.03.2016 - 21:05)
twin
тоже верно. Но я имел в виду тех, кто говорит, что eval НИКОГДА использовать не стоит. Их стоит отнести, пожалуй, к людям, с ООП головного мозга, и паттернами головного омзга

ставлю всегда в disable functions на уровне php ini
не было еще такой задачи, требующей eval. и флаг "e" в preg_replace не зря убрали.

Это сообщение отредактировал depp - 22.03.2016 - 23:51
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 6 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 16 дней


Цитата (depp @ 22.03.2016 - 19:49)
не было еще такой задачи, требующей eval.

Нууу... какие твои годы smile.gif Наверное с шаблонизаторами не работал никогда.
Цитата (depp @ 22.03.2016 - 19:49)
и флаг "e" в preg_replace не зря убрали.

А он там и не нужен был. только вред от него. Те задачи решались куда более прозрачно и элегантно.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) 1 [2] 3  Ответ в темуСоздание новой темыСоздание опроса