Чтение RSS каналов

Форум

Открыть Ответить

Два вопроса по php, массиву, и переменной

5

5
1
05.08.2010 17:19:4405.08.2010 17:21:57
Здравствуйте.
Не знаю как реализовать:

Первый вопрос.
Совершается запрос в бд, и в переменную записывается (пример):

машина, стол, арбуз, машина, дыня, стул, арбуз, табурет, яблоко, стол.

Как видите, слова в этой переменной вразнобой, и к тому же повторяются. (Ну вот такой запрос, немогу переделать его))) )

Нужно:
Вывод слов по алфавиту, удалив повторы:
То есть:

Арбуз, дыня, машина, стол, стул... и тд.

Я сделал так:


$words = array_unique($words); // удалили повторы

	foreach ($words as $val) {
		if ($val != '') $kwords[] = "<a href="serch-$val.html">$val</a>";
	}



Выводится:

машина, стол, арбуз, дыня, стул, табурет, яблоко.
т.е. без повторов, но не по алфавиту.

Собственно - вопрос - как отсортировать по алфавиту?

Вопрос два.
Есть переменная. В некоторых случаях она может оканчиваться на ", " (запятую и пробел). Задача: Перед записью этой переменной в бд, делать проверку на последние два символа, и если это символы запятая с пробелом, убирать их. Как?


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
3.92

3.92
2
05.08.2010 17:28:3405.08.2010 17:30:49
ОТВЕТ НОМЕР РАЗ:
$words = array_unique($words); // удалили повторы
$array = sort($words);
reset($array);

на выходе получаем: арбуз, дыня, машина.... ну и так далее

ОТВЕТ 2
Разбивай строку на массив по "запятая с пробелом", если последний ключ таковой - рубим... ничего сложного, ты сам отвечаешь на свои вопросы, просто не хочешь смекалку включить

Можно через регулярки, но не пишу, ибо уже 5 лет немогу в них въехать... :))) лень ужасная ))))
3.89

3.89
3
05.08.2010 17:32:3605.08.2010 17:33:22
Можно еще строковыми функциями отрезать 2 (или 3, там уже сам посчитай) последних символа и делать проверку...
короче, вариантов масса
3.89

3.89
4
05.08.2010 17:34:5805.08.2010 17:45:23
такс, большое спасибо, буду делать и думать))))))

Можно еще строковыми функциями отрезать



Этот вариант мне кажется менее громоздким.
3.92

3.92
5
05.08.2010 18:13:3305.08.2010 18:16:51
Вопрос номер два реализовал так:



$ololowords = "это штука, оканчивающаяся на запятую с пробелом, ";
$check_end = substr($ololowords, -2); // отрезаем ДВА последних символа, и записываем их в отдельную переменную
if($check_end == ", ") { // Проверяем. Если равно запятой с пробелом - молча отрезаем от строки два последних символа:
$ololowords = substr($ololowords,0,-2);
}
// ну а если последние два символа не равны запятухе с пробелом - ничего не делаем.
echo $ololowords;
3.92

3.92
6
05.08.2010 18:42:53
За что люблю PHP - за демократичность!
Ну вот, а час назад не знал как решить данную проблему Смайл - 02
3.89

3.89
7
06.08.2010 05:27:34
Goshan, тоже врубатся стал Смайл - 08
3.75

3.75
Открыть Ответить
quotстулвопростабуреталфавитуяблокопеременнойэтойповторыестьстолмашинадыняарбузwords
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь