Forum Webscript.Ru
Программирование => PHP => Тема начата: kide от 01 Октября 2003, 16:12:06
-
Есть массив,в котором иногда попадаются строки содержащие только / , и их надо убить!
Как?
-
в цикле
-
Я делал так:
for ($i=$k; $i<$m; $i++) {
if ($screen[$i]=="/")
{
$screen[$i]="";
};
};
, где $screen и есть мой массив. Условие не выполняется и все!
-
Для начала, у тебя в этом коде не хватает одной скобки и он вообще работать не будет.
Далее.
Если условие не выполняется, то из этого следует очень простой вывод.
в массиве НЕТ элементов, состоящих из "/"
Элементарно, правда?
И не спеши возражать.
убедись сам, что это так.
подсказка.
То ,что мы воздуха не видим, еще не означает, что его не нет?
-
RomikChef:
Для начала, у тебя в этом коде не хватает одной скобки и он вообще работать не будет.
Скобку забыл скопировать (уже исправил) !
RomikChef:
То ,что мы воздуха не видим, еще не означает, что его не нет?
И про воздух ты прав! Незаметил пробелы. Но их количество непостоянно, как теперь написать условие?
-
for ($i=$k; $i<$m; $i++) {
$t_screen=str_replace(" ", "", $screen[$i]);
if ($t_screen=="/")
{
$screen[$i]="";
};
};
или в регулярные выражения подаца
-
Аали, если там одна палка, то trim() там будет как раз на месте :-)))
Да и заменять специально не надо.
Ему же потом неболь эту штуку имплодить обратно.
kide
просто в условие добавь
if (trim($screen[$i])=="/")
-
RomikChef:
Аали, если там одна палка, то trim()
дык я тоже сначала про трим подумал, но он ж грит kide:
их количество непостоянно
трим жеж уберет тока первый и последний пробел, а если там "пробелпробелпалкапробел" то получится "пробелпалка"
но если там канешна может быть только по одному, то трим конечно
-
AliMamed:
трим жеж уберет тока первый и последний пробел
ай-яй-яй :-))))
Какое забавное заблуждение :-))))
Впервые с таким сталкиваюсь.
трим убирает начальные и конечные, а не первый и последний.
Это все проблемы перевода.
трим убирает ВСЕ пробельные символы в начале и в конце строки.
trim(" \\n\\t\\t\\t \\n aaa \\n\\n\\n\\r\\t\\n \\n") вернет тебе "aaa"
-
RomikChef:
ай-яй-яй :-))))
ить! ща проверил - и правда все убирает. хм
это меня ман в заблуждение ввел. про перевод не знаю но вот, что в оригинале
trim -- Strip whitespace from the beginning and end of a string
кто скажет, что whitespace не единственное число в того я первым брошу камень=)
-
space - единственное
whitespace - это термин, который и означает всю эту лабуду
-
RomikChef:
просто в условие добавь
if (trim($screen[$i])=="/")
Спасибо! Все работает!
-
AliMamed:
кто скажет, что whitespace не единственное число в того я первым брошу камень=)
Ты просто неправильно перевел...
whitespace переводится дословно "свободное место/пространство", более техническим языком проблельные символы или \\s+ (один или более пробелов).