Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

19.01.2009, 08:12
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Ребята нужна помощ.
Какая ф-ия в пхп али вообще как можно отсортировать список, исключа одинаковые строки и строго зависила от регистра сама сортировка. Пример
xyZ
xYz
Xyz
xyZ
тоесть в нашем случаи xyZ совершенно одинаковые строки. А значит результат будет
xyZ
xYz
Xyz
Вот как бы лучше сделать это все. Нашел перловский пример, но чтот сил не хватает переписать, выкладываю.
Код:
#! /usr/bin/perl -w
if( !$ARGV[0] ) {
die "Usage: $0 <file>\n";
}
open FILE, $ARGV[0] or die "Can't open $ARGV[0]: $!\n";
while(<FILE>) {
push @old, $_;
}
close FILE;
unlink $ARGV[0];
for($i=0; $i<@old; $i++) {
push @new, $old[$i];
if( $i ) {
$del=0;
for($j=0; $j<@new-1; $j++) {
if( !$del && $old[$i] eq $new[$j] ) { $del=1; }
}
if( $del ) { pop @new; }
}
}
open FILE, ">$ARGV[0]" or die "Can't open $ARGV[0]: $!\n";
print FILE @new;
close FILE;
Кому не сложно переведите в пхп вид, с меня ++
Последний раз редактировалось Romaxa55; 19.01.2009 в 08:18..
|
|
|

19.01.2009, 08:17
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Дополняю...Смысл в том что нужный результь я получаю
echo $result;
но переменая не отортирована, вот бы ее еще отсортировать и уже вывестив $result2
|
|
|

19.01.2009, 11:58
|
|
Новичок
Регистрация: 06.01.2009
Сообщений: 2
Провел на форуме: 10786
Репутация:
4
|
|
Может попробывать регуляркой в цикле искать совпадения строго с шаблоном,или проще например stripos или чтото подобное приминить опятьже в цикле например.
|
|
|

19.01.2009, 12:02
|
|
Новичок
Регистрация: 06.01.2009
Сообщений: 2
Провел на форуме: 10786
Репутация:
4
|
|
add:
PHP код:
$text = file('text.txt');
foreach(Создаем цикл){
$search = preg_match_all("#$who#",$text);
echo $search[0];
}
чтото вроде,но можно в 5 раз проще
Ой,ошибся,
проще прег_репласе увсе изменить,а затем то что получилось записать в файлик.ТОесть щем шаблон,заменяем на '' делаем трим,м пишем в файл.
Последний раз редактировалось kenshin; 19.01.2009 в 12:10..
|
|
|

19.01.2009, 12:21
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме: 728470
Репутация:
115
|
|
PHP код:
$arr=array("xxx", "Yyy","TTT", "Yyy");
$arr1=array();
foreach ($arr as $k=>$z) {
if (!in_array($z, $arr1)) $arr1[]=$z;
}
sort($arr1);
Как то так
|
|
|

19.01.2009, 13:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Romaxa55
PHP код:
function in_iarray($str, $a){
foreach($a as $v){
if(strcasecmp($str, $v)==0){return true;}
}
return false;
}
function array_iunique($a){
$n = array();
foreach($a as $k=>$v){
if(!in_iarray($v, $n)){$n[$k]=$v;}
}
return $n;
}
$arr=array("xxx", "Yyy","TTT", "YYy");
$arr=array_iunique($arr);
usort($arr,'strcasecmp');
print_r($arr);
|
|
|

19.01.2009, 14:29
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
ПРивести к lower case, удалить повторы. 3 стандартных функции.
P.S. помощ - это самец помощи?
|
|
|

19.01.2009, 14:52
|
|
Участник форума
Регистрация: 19.10.2005
Сообщений: 128
Провел на форуме: 584821
Репутация:
83
|
|
Сейчас попробуем отпишусь как получится что нить =) спасиб.. как сделаю с меня ++
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|