Forum Webscript.Ru
Программирование => PHP => Тема начата: PHP ист от 11 Января 2003, 23:10:49
-
Народ помогите плииз:
Я делаю чат, и для он-лине листа мне понадобилась функция каторая удоляет одинаковые подмассивы из массива.
Пример:
$arr[0] = "arrr0";
$arr[1] = "arrr1";
$arr[2] = "arrr2";
$arr[3] = "arrr3";
$arr[4] = "arrr4";
$arr[5] = "arrr3";
$arr[6] = "arrr6";
$arr[7] = "arrr0";
?>
Как Вы видите нулевой элемент равен седьмому, а третий равен пятому.
Функция должна привести вышеуказанный код в следующий вид:
$arr[0] = "arrr0";
$arr[1] = "arrr1";
$arr[2] = "arrr2";
$arr[3] = "arrr3";
$arr[4] = "arrr4";
$arr[5] = "arrr6";
?>
Но это просто пример, на самом делле массив может иметь до 300 эллементов и расположенны они могут поразному.
И если не сложно, расскожите как можно сделать список on-line пользователе чата.
Я делаю следующим образом:
Записываю в файл максемальной длинной 300 строчек следующее:
$name|$date
Затем при выводе на экран применяю следующую функцию:
function EchoOnLineAll(){
//Данно функцией я вывожу пользователей актывных в течение последних 60 секунд.
$filein = file("on-line_users.ws");
for ($i = 0; $i list($nick,$taim) = explode ("|",$filein[$i]);
$time = time() - 60;
if ($taim >= $time){
$okn .= "$nick|";
}
}
$grek = explode ("|",$okn);
for ($i = 0; $i <= count($grek); $i++){
echo "$grek[$i]
\\n";
}
}
Необращыйте внимания на то, что данный код написан непроффессионально, я на PHP пишу всего 3 месяца.
-
$arr = array_unique($arr);
-
А что тебе от нас надо? У тебя всё уже готово.:) Вот только что тебе надо изменить:
1. Функция которая удаляет повторяющиеся элементы в массиве называется array_unique (http://php.net/array_unique), не надо придумывать свою.
2. Нафига ты повторно читаешь файл? Пиши count($filein)
... $i
ЗЫ и на будушее нормально называй темы.
-
Оки... Сенкс, но возникла ещё одна проблема, строчка:
$okn .= "$nick|";
Как Удалить в конце |?
-
$okn .= "$nick|";
Как Удалить в конце |?
дык вроде после explode() ее не будет, а вообще
$okn = substr("$nick|", 0, strlen("$nick|")-1)
-
$okn .= "$nick|";
Как Удалить в конце |?
Кликаешь мышкой после знака "|" и нажимаешь клавишу "backspace".:D
А если по делу то делай explode.