Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2010, 21:23   #1
Delphinchik
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 60
По умолчанию Вывести строку с наибольшей цифрой

Подскажите, пожалуйста.
Вот, например, есть такие строки в файле, который загружается через file_get_contents();

1 Первая строка с парой слов (3)
2 Вторая строка со словами (2)
3 Третья строка бла бла бла (7)
4 Четвертая строка (5)


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

Мне надо print ' '; строку, в которой последняя цифра в скобках больше всех, как можно написать? из за цифр перед строками ничего не получается.
Delphinchik вне форума Ответить с цитированием
Старый 15.11.2010, 21:43   #2
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

А что вызывает затруднение? Разбитие на строки(преобразование в массив) или на строки разбиение есть, но проблема с поиском строки с наибольшим значением?
Упс...
L_M вне форума Ответить с цитированием
Старый 15.11.2010, 21:48   #3
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Код:
<?
    $ar_of_str = array();
    $ar_of_str = file("./_my_file.txt");
    $res = array();
    for($i = 0, $count = sizeof($ar_of_str); $i < $count; $i++) {
      $res[] =  substr(trim($ar_of_str[$i]), -2, 1);
    }
    echo max($res);
?>
Хм, если нужен номер строки а не макс элемент, то так:
Код:
<?
    $ar_of_str = array();
    $ar_of_str = file("./_my_file.txt");
    $result = 0;
    $max = substr(trim($ar_of_str[0]), -2, 1);
    for($i = 1, $count = sizeof($ar_of_str); $i < $count; $i++) {
      $temp = substr(trim($ar_of_str[$i]), -2, 1);
      if ($max < $temp) {
          $max = $temp;
          $result = $i;
       }
    }
    echo ++$result;
?>
Будет выведен номер строки с последним макс элементом. Например если макс - 7, а их несколько

Последний раз редактировалось Gorychev; 15.11.2010 в 22:08.
Gorychev вне форума Ответить с цитированием
Старый 15.11.2010, 21:58   #4
Delphinchik
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 60
По умолчанию

L_M, мешали другие цифры.
Gorychev, заработало!
Спасибо.
Delphinchik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP вывести данные в строку, а не в таблицу Shouldercannon PHP 2 12.06.2010 14:44
вывести окно по двойному щелчку на строку в DBGrid Kisma БД в Delphi 5 14.02.2010 10:24
Вывести строку на экран Dasharnb777 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 13.02.2010 18:59
вывести строку задом-наперёд (assembler) Nikolai_90 Помощь студентам 1 03.06.2008 08:03
Вывести конкретную строку из файла Captain Nemo Общие вопросы Delphi 9 15.05.2007 03:44