[0] ddddd.txt
[1] cccccc.txt
ну вобщем это массив от скандира.
Мне надо удалить в массиве в каждой его строке .txt
if (in_array($body_page, array_map( 'trim', $files_ip, ".txt"), true))
Почему у меня не работает так? Ах да и надо почистить от первода кореток так сказать и пробелов лишних
Спустя 28 минут (27.04.2011 - 20:47) alex12060 написал(а):
str_replace()
Спустя 5 минут, 49 секунд (27.04.2011 - 20:53) sx000 написал(а):
$files_ip=array_map(str_replace(".txt","",$files_ip));
так ошибку выдает, а как верно сделать вот таким способом. Может я не верно записал?
так ошибку выдает, а как верно сделать вот таким способом. Может я не верно записал?
Спустя 2 минуты, 57 секунд (27.04.2011 - 20:56) Игорь_Vasinsky написал(а):
прочитай про функции php для работы со строками
сначала выведи массив в строку, потом str_replace, потом снова забей масив.
а вообще можно при выводе элнментов из массива str_replace
сначала выведи массив в строку, потом str_replace, потом снова забей масив.
а вообще можно при выводе элнментов из массива str_replace
Спустя 2 минуты, 14 секунд (27.04.2011 - 20:58) sx000 написал(а):
array_map но это применяет нужную функцию к всем элементам массива. Почему ей нельзя это сделать?
Спустя 1 минута, 37 секунд (27.04.2011 - 21:00) sx000 написал(а):
аааа строка же, а можно удалить какой то функц. сразу у эелментов в массиве?
Спустя 3 минуты, 58 секунд (27.04.2011 - 21:04) Игорь_Vasinsky написал(а):
Спустя 2 минуты, 3 секунды (27.04.2011 - 21:06) SlavaFr написал(а):
если не умееш callback функции писать, то взял бы и просто в цикле все значения проверил бы.
не тестировал!
или просто
не тестировал!
$files_ip=array_map(create_finction('$a','return str_replace(".txt","",$a);',$files_ip));
или просто
foreach($files_ip as $f){
if($body_page == str_replace('.txt','',$f)){
......
}
}
Спустя 2 минуты, 39 секунд (27.04.2011 - 21:08) sx000 написал(а):
Цитата (SlavaFr @ 27.04.2011 - 18:06) |
если не умееш callback функции писать, то взял бы и просто в цикле все значения проверил бы. не тестировал!
или просто
|
Да не умею но хочу научиться, спасибо за подсказку
Спустя 7 минут, 13 секунд (27.04.2011 - 21:16) SlavaFr написал(а):
в 5.3 create_function не нужно, можно сразу безимяную функцию в callback использовать
array_map(function($a){ return str_replace(".txt","",$a);},$files_ip);
Спустя 1 час, 26 минут, 43 секунды (27.04.2011 - 22:42) sx000 написал(а):
$files_ip=array_map(create_finction('$a','return str_replace(".txt","",$a);',$files_ip));
Fatal error: Call to undefined function create_finction()
Спустя 43 минуты, 44 секунды (27.04.2011 - 23:26) SlavaFr написал(а):
я же говорил, что я код не проверял, значит ошибки возможны .
попробуй create_function вместо create_finction написать
попробуй create_function вместо create_finction написать
Спустя 20 минут, 19 секунд (27.04.2011 - 23:46) sx000 написал(а):
foreach($files_ip as $f){
так сделал юже, но через функцию красивее, но тут понятнее для меня на данный момент. Там действительно пока не мой уровень.
так сделал юже, но через функцию красивее, но тут понятнее для меня на данный момент. Там действительно пока не мой уровень.
Спустя 21 минута, 10 секунд (28.04.2011 - 00:08) SlavaFr написал(а):
ну конструкция create_function в общем то дело действительно уродливое, но ты можеш функцию отдельно написать.
ну в общем твоя проблема решается тысячами способами.
Один из них
:D
ну в общем твоя проблема решается тысячами способами.
Один из них
if (in_array($body_page.'.txt', $files_ip)){
.....
}
:D