ФорумПрограммированиеPHP для идиотов → Найти максимальный элемент в массиве

Найти максимальный элемент в массиве

  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 9 апреля 2011 г. 8:28, спустя 8 часов 30 минут 32 секунды

    опять сцуко обосрались

    array_walk_recursive($arr, create_function('$item', '{ global $flatten; $flatten[] = $item; }'));
    echo max($flatten);
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 9 апреля 2011 г. 9:16, спустя 48 минут 32 секунды

    как раз для таких случаев замыкания (не лямбды) самое то
    function array_flatten($array)
    {
     $flatten = array();

     array_walk_recursive($array, function ($item) use (&$flatten) {
       $flatten[] = $item;
     });

     return $flatten;
    }


    вот только не могу определиться:
    function ($item

    тут ставить пробел перед скобочкой или нет
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 9 апреля 2011 г. 11:57, спустя 2 часа 40 минут 39 секунд

    Абырвалг, один хуй костыль ))) а хочется нативной функции!
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 9 апреля 2011 г. 12:39, спустя 41 минуту 50 секунд

    напиши экстеншн для пхп и скомпилируй его - будет тебе нативная функция (ну я обычно так и делаю)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 9 апреля 2011 г. 12:53, спустя 13 минут 44 секунды

    fgets, нескромный вопрос - и часто ты так делаешь?) сколько раз?)))
    Сапожник без сапог
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 10 апреля 2011 г. 2:10, спустя 13 часов 16 минут 59 секунд

    Ну у меня есть свой портативный похапе есть я его модифицирую постоянно, делаю под себя удобным. Например в моём пхп есть функция addhost ($hostname[, $ip = '127.0.0.1']) и еще дофига мне полезных. Вызываю так:
    rphp "addhost('mynewmegasite.net');"


    rphp - это макрос командной строки
    doskey rphp=php -r $*
  • lea

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 5 мая 2011 г. 15:47, спустя 25 дней 13 часов 37 минут


    Дан массив array(1, 2, 3, array(4, 5, array(6, 7), 8), 9, 10) , найти максимальный элемент.
    просто фунцкия max() не справляется, т.к. возвращает вложенный массив.
    Спустя 24 сек.
    Подскажите как решить задачку.


    <?php


    $ar = array(1, 2, 3, array(4, 5, array(6, 7), 8), 9, 10);
    function recursive_array_max($a)
    {
    foreach ($a as $value)
    {
    if (is_array($value))
    {
    $value = recursive_array_max($value);
    }
    if (!(isset($max)))
    {
    $max = $value;
    }
    else
    {
    $max = $value > $max ? $value : $max;
    }
    }
    return $max;
    }
    $max = recursive_array_max($ar);

    echo "<p>The maximum value was: {$max}</p>";
    ?>

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 5 мая 2011 г. 17:19, спустя 1 час 32 минуты 7 секунд

    lea, привет начинающий гавнокодер
    Сапожник без сапог
  • lea

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 6 мая 2011 г. 7:13, спустя 13 часов 53 минуты 40 секунд


    lea, привет начинающий гавнокодер

    Здравствуйте, гуру.
    Аргументируйте, почему это решение - говнокод.

    Этот код мне выдал google на запрос: "Найти максимальное значение в многомерном массиве".
    http://fil.ya1.ru/PHP_5_in_Practice/index.htm#page=0768667437/ch05lev1sec6.html
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 6 мая 2011 г. 7:16, спустя 2 минуты 56 секунд

    lea, я ничего не собираюсь аргументировать. когда нибудь вы поймете что это гавнокод, который может написать любой дурак с полпинка.
    Спустя 53 сек.
    особенно когда перестанете гуглить очевидные куски кода
    Сапожник без сапог
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 6 мая 2011 г. 8:25, спустя 1 час 8 минут 40 секунд

    который может написать любой дурак с полпинка

    я не могу XD
    Высокоуровневое абстрактное говно
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 6 мая 2011 г. 8:47, спустя 22 минуты 25 секунд

    function array_max_recursive(array $a){
     foreach ($a as &$v){
       if (is_array($v)){
         $v = call_user_func(__FUNCTION__, $v);
       }
     }
     return max($a);
    }
    не всё полезно, что в swap полезло
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 6 мая 2011 г. 9:14, спустя 27 минут 6 секунд

    а я вот так на жс написал)) зацените говнокодец XD
    function maxArray(arr) {
    a = arr.toString().split(',');
    for (var x = 0, i = a.length; i; x = Math.max(x, parseInt(a[–i])));
    return x;
    }
    Высокоуровневое абстрактное говно

Пожалуйста, авторизуйтесь, чтобы написать комментарий!