![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| shader |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 16.5.2004 Где: kirovogradcity Репутация: нет Всего: нет |
Есть код вроде этого:
В файл otdel.dat из формы добавляются строки вида "\n$otdel" (в первой строке нет символа "\n"). Как правильно учитывать "\n" при сравнении? Тоесть куда его прилепить в условии if(in_array($otdel, $is_reg_otdel)) чтоб оно не мешало? В моем коде ошибка. Потому что \n$otdel != $otdel. |
|||
|
||||
| Bikutoru |
|
||||||
|
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 8 Всего: 22 |
Добавлять нужно в конец строки. Вот только \n ли это вопрос. Дело в том, что если "база" создавалась в ОС Windows, то разделителем строк являются два символа идущих друг за другом \r\n ("возварт каретки" и "переход на новую строку"), если же в UNIX со товарищи, то там разделителем считается только \n
Соответственно, если файл был создан в Windows, то должно быть
а если в UNIX и ко
Добавлено @ 17:59 Советую немного переделать код. Например так:
Этому коду все равно где создан файл в UNIX или в Windows, при большом числе записей isset($regOtdels[$otd] будет работать быстрее, чем in_array($otd, $regOtdels). -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||||
|
|||||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 3 Всего: 67 |
А можно покоцать из всего массива перевод строки и тогда можно будет сравнивать не боясь:
|
|||
|
||||
| shader |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 16.5.2004 Где: kirovogradcity Репутация: нет Всего: нет |
Если в конец строки - тогда в файле после последнего переноса появляется пустая строка. Мне кажется нет разницы, все равно это перенос. А если я именно так и пишу в файл - fwrite($f, "\n");? Или ОС все равно заменяет на свой символ? Не пойму что проверяется в: if (isset($regOtdels[$otd])). Можно маленький комментарий?
Надо будет попробовать. Когдато столкнулся с тем, что trim ни в какую не хотела обрезать перенос строки. С тех пор не доверяю ей |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Лучше вообще trim'ом убивать все эти вещи...
|
|||
|
||||
| Bikutoru |
|
||||
|
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 8 Всего: 22 |
Тогда будет \n, но если ты вдруг захочешь этот файл в текстовом редакторе поредактировать, то никакой гарантии никто не даст, что там будет именно \n.
Можно -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||
|
|||||
| shader |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 16.5.2004 Где: kirovogradcity Репутация: нет Всего: нет |
Сделал как написал Ciber SLasH. Так мне понятнее. Все прекрасно работает. Всем спасибо.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |