Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с оператором IF 
V
    Опции темы
BuShaRt
Дата 4.12.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Код

$files       = file('page/pages.txt');
//Read page:
foreach ($files as $val) {
    $pagetext = '';
    $val = split ('@',$val);
    if ($val[0]==$pagename) {
        if ($val[1]=='txt') {
            $file = file ('page/'.$pagename.'.'.$val[1]);
            foreach ($file as $val) {$pagetext .= $val;}
        } 
        if ($val[1]=='php') {
            include 'page/'.$pagename.'.'.$val[1];
        }
    break;
    } else { $pagetext = 'Такой страници не существует'; }
}
//---


page/pages.txt:
Код

new@txt
sos@php
jj@txt


ну не как не хочет выполнятся грамотно вот это условие. Если быть точным, оно выполняется, но только для последнего элимента в списке pages.txt (если поменять местам - та же ситуация)
if ($val[1]=='txt')

Проверял... Ставил print $val[1]; перед самым оператором - выводит все нормально, а оператор все равно не срабатывает.
PM MAIL   Вверх
smartov
Дата 4.12.2006, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



BuShaRt, так ты break то убери...
PM MAIL   Вверх
Mal Hack
Дата 4.12.2006, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



smartov, break - ошибка алгоритма, я вообще не понимаю, как он дальше первого элемента уходит.
Во вторых. explode, а не split.
Третье, забыли про \n на конце строки. Вот у вас и получается, что в "разбитом" массиве имеем первый элемент, как положено, а второй -  "txt\n", что не равно "\n", а у последнего элемента это него, там маркер конца файла, который в строку не идет. Юзаем trim.

PM ICQ   Вверх
G0rinich
Дата 4.12.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 21.8.2006

Репутация: 1
Всего: 1



Цитата(Mal Hack @  4.12.2006,  19:15 Найти цитируемый пост)
Во вторых. explode, а не split.

И в чем разница?
PM MAIL   Вверх
BuShaRt
Дата 4.12.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Mal Hack, 
Спасибо, проблемы была с '\n'.
break - в нужному месте - есть совпадение - переменная заполняется должным образом и цикл прерывается.

А на счет explode не понял... Она быстрее работает?
PM MAIL   Вверх
Mal Hack
Дата 4.12.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(G0rinich @  4.12.2006,  19:45 Найти цитируемый пост)
И в чем разница? 

а ты ман почитай.

Цитата(BuShaRt @  4.12.2006,  19:56 Найти цитируемый пост)
А на счет explode не понял... Она быстрее работает? 

Обоснуй, почему ты стад использовать именно split?
PM ICQ   Вверх
G0rinich
Дата 6.12.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 21.8.2006

Репутация: 1
Всего: 1



Цитата(Mal Hack @  4.12.2006,  22:06 Найти цитируемый пост)
а ты ман почитай.

Мда. Я заблуждался, думал алиасы, аналогично join и implode. Давно не пишу на РНР, перешел на perl. Ни капли не жалею.
PM MAIL   Вверх
BuShaRt
Дата 6.12.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Mal Hack, 
Потому, что когда-то давно, мне его кто-то посоветывал  smile 


G0rinich, 
Убейся со своим Perl, тут про PHP
PM MAIL   Вверх
Mal Hack
Дата 6.12.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(BuShaRt @  6.12.2006,  13:24 Найти цитируемый пост)
Потому, что когда-то давно, мне его кто-то посоветывал  smile 

Своя голова и документация на что?
Этот тот случай, когда прочитав документацию, можно понять, что тебе не правильно посоветовали.

Цитата(BuShaRt @  6.12.2006,  13:24 Найти цитируемый пост)
Убейся со своим Perl, тут про PHP 

Выбирай-те выражения, пожалуйста.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.