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

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

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15296
Пользователь №: 4190
На форуме: 9 лет, 2 месяца, 19 дней
Карма: 463




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

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


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

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

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

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

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



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

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

Не пью :
22 года, 7 месяцев, 18 дней


Цитата (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
На форуме: 1 год, 1 месяц, 5 дней
Карма:




Цитата (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  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15296
Пользователь №: 4190
На форуме: 9 лет, 2 месяца, 19 дней
Карма: 463




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

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

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


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

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

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

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

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



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26331
Пользователь №: 21350
На форуме: 7 лет, 1 месяц, 11 дней
Карма: 734




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

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

вот

serialize()
unserialize()


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15296
Пользователь №: 4190
На форуме: 9 лет, 2 месяца, 19 дней
Карма: 463




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

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


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

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

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

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

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



Новичок
*

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




Цитата (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  
Дата
Цитировать сообщение

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



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

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

Не пью :
22 года, 7 месяцев, 18 дней


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


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

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



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

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

Трезвый :
6 лет, 4 месяца


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

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


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


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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

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

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



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

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




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

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



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

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

Трезвый :
6 лет, 4 месяца


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

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


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

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

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

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

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



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

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




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

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



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

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15296
Пользователь №: 4190
На форуме: 9 лет, 2 месяца, 19 дней
Карма: 463




Цитата (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  
Дата
Цитировать сообщение

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 377
Пользователь №: 40589
На форуме: 2 года, 4 месяца, 21 день
Карма: 22




Цитата (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  
Дата
Цитировать сообщение

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



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

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

Трезвый :
6 лет, 4 месяца


Цитата (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  Ответ в темуСоздание новой темыСоздание опроса