Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Serge2k

Страницы: [1]
1
PHP / Удаление элемента из массива
« : 18 Января 2003, 20:47:58 »
Есть ли функция, которая напрямую удаляет элемент с заданным индексом из массива.
Я нашел такой выход из ситуации: функция приравнивает значение этого элемента к, скажем, значению первого элемента, а затем проверяет массив на одинаковые элементы и второй одинаковый удаляет. Можно также поставить элемент вначало и использовать array_shift()
Но это варианты из двух действий, а нельзя ли одним действием удалить неугодный элемент из массива?

2
PHP / Одинаковые элементы в массиве
« : 03 Января 2003, 01:52:32 »
В общем-то, хотелось бы кое-что уточнить. Никакой уверенности в том, что я все понял, я не изъявлял. GotZfild продемонстрировал конкретное решение проблемы, я с этим решением согласился и поблагодарил (я ведь не написал "спасибо, я все понял"). У меня сейчас жуткая сессия (через 7 часов экзамен), и нету времени читать в мануале на php.net описание функций для работы с массивами. Когда время будет, обязательно почитаю. Я сейчас пишу некоторые скрипты, поскольку это меня расслабляет, освобождает мозг от учебы. Это своеобразный отдых. Столкнулся с проблемой, глянул в мануал. Увидел там array_unique. Использовал. Не получилось. Спросил. Об array_values не знал.
Использование слова "индекс" в терминологии массивов многократно встречал. Но намного проще писать "первый элемент", чем "элемент с индексом \'1\'". Буду переучиваться.
Спасибо за конструктивную критику.

3
PHP / Одинаковые элементы в массиве
« : 02 Января 2003, 20:36:58 »
Ну что ж, похоже, тему можно закрывать - если кто-нибудь из модераторов сочтет нужным, может смело сделать это. Спасибо за размышления над вопросом.

Здесь действительно в тему используется array_values в паре с array_unique . Я этого не знал. Еще раз спасибо и всех с Новым годом!

4
PHP / Одинаковые элементы в массиве
« : 02 Января 2003, 19:44:45 »
Да уж, бывает... Не поставил единичку. Теперь функция работает:

preg_match_all(\'/([a-zA-Zа-яА-Я]+)/\',$text,$ok);

$ok = array_unique ($ok[1]);

for ($i=0; $i{
echo $ok[$i]."
";
}

Вот только получается не совсем то, чего мне хотелось бы. Функция, как выяснилось, совпадающие элементы заменяет пустыми, то есть по всей видимости массив

$a[0] = 13;
$a[1] = 12;
$a[2] = 13;
$a[3] = 15;

меняется на

$a[0] = 13;
$a[1] = 12;
$a[2] = ;
$a[3] = 15;

Во всяком случае, значение 15 остается по прежнему за третьим элементом. А нужно, чтобы он становился таким:

$a[0] = 13;
$a[1] = 12;
$a[2] = 15;

То есть, чтобы одинаковые элементы не только становились пустыми, но и исчезали как таковые, а на их место становились другие.

Можно ли это сделать в рамках array_unique, или для удаления пустых элементов служит какая-то другая функция?

5
PHP / Одинаковые элементы в массиве
« : 02 Января 2003, 18:45:03 »
Здравствуйте! С Новым годом!

Есть такая ситуация: скрипт берет текст (переданный переменной $text) и выбирает из него отдельные слова, выводя их построчно на экран:

preg_match_all(\'/([a-zA-Zа-яА-Я]+)/\',$text,$ok);

for ($i=0; $i {

echo $ok[1][$i]."
";
}

Нужно убрать совпадающие слова, чтобы на экран одно и то же слово выводилось только один раз.

Судя по тому, что написано в официальном мануале, одинаковые элементы из массива убирает функция array_unique (http://www.php.net/manual/en/function.array-unique.php)

Но скрипт с использованием этой функции не работает:

preg_match_all(\'/([a-zA-Zа-яА-Я]+)/\',$text,$ok);

$ok = array_unique ($ok);


for ($i=0; $i {

echo $ok[1][$i]."
";
}


Здесь я явно в чем-то ошибаюсь. Что я делаю неправильно?

6
PHP / Сортировка массива
« : 22 Декабря 2002, 15:50:52 »
Спасибо за информативный совет :-) А как насчет реализации рейтинга?

7
PHP / Сортировка массива
« : 22 Декабря 2002, 13:35:49 »
Попробую также немного усложнить задачу, возвращаясь к первоначально заданному вопросу.
Мы отсортировали файл

поле1|поле2|поле3
поле1|поле2|поле3
поле1|поле2|поле3

по второму полю. А что делать, если значения нескольких вторых полей совпадают, и тогда требуется сортировка между ними по третьему полю???


Также хотелось бы спросить совета: нормально ли будет на такой основе работать рейтинг сайтов (100 сайтов с суммарной посещаемостью 2000 человек в день)? Или же для него лучше использовать MySQL - просто я абсолютно не знаю MySQL, и нет времени разбираться. Потому хотел бы использовать для рейтинга текстовый файл. И реально ли с помощью текстового файла делать счетчики для упомянутых 100 сайтов с графическими показателями посетителей/посещений, или лучше использовать счетчики на основе статичного изображения (хотя бы с точки зрения скорости)?

Страницы: [1]