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 :: Вопрос по expoad

 PHP.SU

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


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

> Без описания
Ermite
Отправлено: 28 Апреля, 2016 - 21:37:54
Post Id


Новичок


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


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




Хочу реализовать одну идею, и решил немного извратиться над explode Улыбка
PHP:
скопировать код в буфер обмена
  1. $file=file("admin.txt");
  2. $count=count($file);
  3. list($per0, $per11, $per12, $per13, $per14, $per15, $per21, $per22, $per23, $per24, $per25, $per31, $per32, $per33, $per34, $per35, $per41, $per42, $per43, $per44, $per45, $per51, $per52, $per53, $per54, $per55) = explode("|||||", $count);
  4. echo "123 $per12";

В итоге выводится только 123. Никаких ошибок не выдает.
Содержимое файла admin.txt
CODE (htmlphp):
скопировать код в буфер обмена
  1. 1452|||||45|||||13284000|||||750|||||548|||||26|||||37|||||970200|||||330|||||6875|||||27|||||42|||||5212500|||||500|||||45678|||||28|||||54|||||22272720|||||1030|||||4532|||||29|||||57|||||19659240|||||1090|||||4567|||||30

Количество переменных соответствует количеству чисел в файле
Может ли это быть из-за того, что я пытаюсь вывести сразу много переменных?
 
 Top
Строитель Модератор
Отправлено: 28 Апреля, 2016 - 22:36:29
Post Id



Участник


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


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




Ermite, вы передаёте в explode() вторым параметром не ту строку. Ваш код будет работать в таком оформлении, но на мой взгляд это быдлокод
PHP:
скопировать код в буфер обмена
  1. $file = file_get_contents('admin.txt');
  2.  
  3. list($per0, $per11, $per12, $per13, $per14, $per15, $per21, $per22, $per23, $per24, $per25, $per31, $per32, $per33, $per34, $per35, $per41, $per42, $per43, $per44, $per45, $per51, $per52, $per53, $per54, $per55) = explode('|||||', $file);
  4.  
  5. echo "123 $per12";

(Отредактировано автором: 28 Апреля, 2016 - 22:50:24)

 
 Top
Ermite
Отправлено: 29 Апреля, 2016 - 18:48:46
Post Id


Новичок


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


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




Строитель, понял, спасибо. Насчет быдлокода, я в php все делаю на ощупь. Можно ли как-нибудь это повторить нормальным способом? Мне нужно вытащить из txt файла много переменных, а потом вставлять их в нужные места.
 
 Top
Viper
Отправлено: 29 Апреля, 2016 - 19:05:48
Post Id



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


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


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




Ermite пишет:
Мне нужно вытащить из txt файла много переменных, а потом вставлять их в нужные места.
может нужно начать с нормализации данных? Я говорю про формат хранения данных. Может стоит CSV формат использовать?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Строитель Модератор
Отправлено: 29 Апреля, 2016 - 19:09:47
Post Id



Участник


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


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




Ermite пишет:
Можно ли как-нибудь это повторить нормальным способом?
Можно например в цикле прогнать этот массив и вывести все значения в браузер.
PHP:
скопировать код в буфер обмена
  1. $file = file_get_contents('admin.txt');
  2.  
  3. foreach (explode('|||||', $file) as $val) {
  4.         echo $val .'<br />';
  5. }
 
 Top
Ermite
Отправлено: 29 Апреля, 2016 - 20:19:05
Post Id


Новичок


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


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




Viper, Попробую поискать что-нибудь по этому поводу
Строитель, можно привести пример, как мне вывести значение, например, второй переменной? Просто вывод будет в разных местах страницы
(Добавление)
Viper, и ещё вопрос, будут ли заметные задержки, если в моем txt файле будет 500+ строк?) CSV в этом плане будет быстрее работать?
 
 Top
Строитель Модератор
Отправлено: 29 Апреля, 2016 - 21:02:37
Post Id



Участник


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


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




Ermite пишет:
можно привести пример, как мне вывести значение, например, второй переменной?
Указать ключ массива
PHP:
скопировать код в буфер обмена
  1. $file = file_get_contents('admin.txt');
  2. $arr = explode('|||||', $file);
  3.  
  4. echo $arr[1]; //Вернёт 45
 
 Top
Viper
Отправлено: 30 Апреля, 2016 - 09:56:28
Post Id



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


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


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




Ermite пишет:
ещё вопрос, будут ли заметные задержки, если в моем txt файле будет 500+ строк?) CSV в этом плане будет быстрее работать?
вы не заметите.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB