Forum Webscript.Ru

Программирование => PHP => Тема начата: PHP ист от 11 Января 2003, 23:10:49

Название: Помогите плииз
Отправлено: 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 месяца.
Название: Помогите плииз
Отправлено: Макс от 12 Января 2003, 00:44:07
$arr = array_unique($arr);
Название: Помогите плииз
Отправлено: Tronyx от 12 Января 2003, 00:47:44
А что тебе от нас надо? У тебя всё уже готово.:) Вот только что тебе надо изменить:
1. Функция которая удаляет повторяющиеся элементы в массиве называется array_unique (http://php.net/array_unique), не надо придумывать свою.
2. Нафига ты повторно читаешь файл? Пиши count($filein)
Цитировать
... $i


ЗЫ и на будушее нормально называй темы.
Название: Помогите плииз
Отправлено: PHP ист от 12 Января 2003, 01:25:31
Оки... Сенкс, но возникла ещё одна проблема, строчка:
$okn .= "$nick|";
Как Удалить в конце |?
Название: Помогите плииз
Отправлено: Макс от 12 Января 2003, 02:08:21
Цитировать
$okn .= "$nick|";
Как Удалить в конце |?
дык вроде после explode() ее не будет, а вообще
$okn = substr("$nick|", 0, strlen("$nick|")-1)
Название: Помогите плииз
Отправлено: Tronyx от 12 Января 2003, 02:37:03
Цитировать
$okn .= "$nick|";
Как Удалить в конце |?

Кликаешь мышкой после знака "|" и нажимаешь клавишу "backspace".:D
А если по делу то делай explode.