[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: trim массива от ненужного символа - как?
sx000
$files_ip содержит в себе:
[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 для работы со строками wink.gif

сначала выведи массив в строку, потом 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 функции писать, то взял бы и просто в цикле все значения проверил бы.

не тестировал!

$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)){
......
}
}

Да не умею но хочу научиться, спасибо за подсказку

Спустя 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 написал(а):
я же говорил, что я код не проверял, значит ошибки возможны smile.gif.
попробуй create_function вместо create_finction написать

Спустя 20 минут, 19 секунд (27.04.2011 - 23:46) sx000 написал(а):
foreach($files_ip as $f){
так сделал юже, но через функцию красивее, но тут понятнее для меня smile.gif на данный момент. Там действительно пока не мой уровень.

Спустя 21 минута, 10 секунд (28.04.2011 - 00:08) SlavaFr написал(а):
ну конструкция create_function в общем то дело действительно уродливое, но ты можеш функцию отдельно написать.

ну в общем твоя проблема решается тысячами способами.
Один из них

if (in_array($body_page.'.txt', $files_ip)){
.....
}

:D
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.