Автор Тема: Вывод по алфавиту  (Прочитано 10286 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #15 : 30 Января 2004, 18:20:28 »
Это очень сложно сделать?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #16 : 30 Января 2004, 18:25:21 »
сортирует "по второму столбику" функция [p]usort[/p]
там есть пример.

и забудь ты про свою дурацкую "базу данных"!

Нету у тебя никакой базы.
у тебя есть ФАЙЛ, который ты построчно читываешь в МАССИВ.

Вот с МАССИВОМ ты и работаешь.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #17 : 30 Января 2004, 19:24:32 »
Как сдлелать, так, чтобы  $a[] = new TestObj("Сюда"); можно было вставить $menu; если    $menu.="$str[0]
";
Если можешь, то просто напиши, что нужно добавить

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #18 : 30 Января 2004, 19:52:35 »
не могу.
я не понимаю, что это за абракадабра.
ты опять вернулся к своему телеграфному стилю.
Не можешь толком объяснить вопрос - вообще здесь ничего не пиши

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #19 : 31 Января 2004, 00:16:39 »
Как сделать так, чтобы $a[] = new TestObj("!-----Сюда------!"); можно было вставить $menu; или любой другой оператор (Когда он, что - нибудь выдаёт в echo)
Сорри если не могу объянить лучше, но яплохо знаю теремены!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #20 : 31 Января 2004, 09:31:05 »
что такое
$a[] = new TestObj("!-----Сюда------!");
и откуда оно взялось?

Если сократить твое первое предложение, то получится
"Как сделать так, чтобы $a можно было вставить $menu"
Что во что вставить?
в меню вставлять - точно так же, как и все остальное - точкой.
оператор точка (.) в пхп соединяет строки.
вот и соединяй в любом месте.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #21 : 31 Января 2004, 17:34:47 »
Спасибо попробую!
Взялось
class TestObj {
   var $name;

   function TestObj($name)
   {
       $this->name = $name;
   }

   /* This is the static comparing function: */
   function cmp_obj($a, $b)
   {
       $al = strtolower($a->name);
       $bl = strtolower($b->name);
       if ($al == $bl) {
           return 0;
       }
       return ($al > $bl) ? +1 : -1;
   }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
   echo $item->name . "\\n";
}
?>
Я не знаю, как сделать так, чтобы переменная  $menu.="$str[0]
";
а как сделать так, чтобы $menu можно было вставить вот так  и не выдавало ошибки $a[] = new TestObj("$menu");
« Последнее редактирование: 31 Января 2004, 17:47:41 от xax »

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #22 : 01 Февраля 2004, 02:51:45 »
Помогите!
Я код написал, он выводит всё по алфавиту, вроде - но странно
Вот код:
class TestObj {
   var $name;

   function TestObj($name)
   {
       $this->name = $name;
   }

   /* This is the static comparing function: */
   function cmp_obj($a, $b)
   {
       $al = strtolower($a->name);
       $bl = strtolower($b->name);
       if ($al == $bl) {
           return 0;
       }
       return ($al > $bl) ? +1 : -1;
   }
}
  $file="news/news.txt";
  $arr=file($file);
  for ($i=0;$i<=count($arr)-1;$i++) {
   $str=explode(";",$arr[$i]);
$menu.="$str[0]
";
$a[] = new TestObj("$menu");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
   echo $item->name . "\\n";
}
}
?>
В массиве вот так вот
a;1;1
b;1;1
c;1;1
Сортируется всё по 1 столбцу
А выводит мне
a
a
a
b
a
a
b
a
b
c
В чём ошибка?

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Вывод по алфавиту
« Ответ #23 : 01 Февраля 2004, 03:32:56 »
Клиника.. В мозах ошибка..
Купи книжку и прочитай!
Рома, я я тебе удивляюсь зачем ты тратишь своё время на школьников которым трудно попросить у мамы 200 рублей и купить книжку по ПХП, и перестать задавать тупые вопросы.
Мне тормоз послужил толчком...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #24 : 01 Февраля 2004, 10:41:42 »
xax
попробуй, вместо всей этой лабуды, в которой ты все равно ни бельмеса не понимаешь, использовать функцию sort
она тебе явно подойдет лучше

Оффлайн professorX

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #25 : 02 Февраля 2004, 09:31:20 »
xax
http://phpclub.net/manrus/ - читай - там есть описание всех функций, которые тебе понадобятся (для работы с массивами смотри array-функции). И будет тебе счастье!
Всегда к Вашим услугам,
professorX

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вывод по алфавиту
« Ответ #26 : 02 Февраля 2004, 11:09:01 »
xax
я решил тебе сопли повытирать.
предоставь мне пример своего текстового файла, три строчки.
реальные три строчки, а не того, что ты тут навыдумывал.
чтобы именно по второй "колонке" надо было сортировать, а не по первой.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28