За последние 24 часа нас посетили 57755 программистов и 1846 роботов. Сейчас ищут 1354 программиста ...

Нужна подсказка с командой для массива.

Тема в разделе "PHP для новичков", создана пользователем neketsh, 1 май 2015.

  1. neketsh

    neketsh Новичок

    С нами с:
    29 апр 2015
    Сообщения:
    17
    Симпатии:
    0
    Только изучаю php и немогу решить задачу. Дан массив со списком людей и человек. Нужно подсчитать количество людей выше этого человека. Пробовал count($classmates > $anonHeight); но оно не работало. Прочитал мануал по php ( http://php.ru/manual/ref.array.html ) но не нашел ничего что могло бы помочь. Уже не знаю что и придумать можно. И очень прошу, если можно, то подскажите команду. Я уже о ней почитаю и сам додумаю как поместить в скрипт. Нельзя что бы мозг иссох ;)
    Код (PHP):
    1. $anonHeight = 169; /* Рост анона */
    2.  
    3. /* Рост одноклассников анона */
    4. $classmates = array(
    5.     'Антон'    =>    172,
    6.     'Семен'    =>    165,
    7.     'Лена'    =>    189,
    8.     'Иван'    =>    171,
    9.     'Петр'    =>    182,
    10.     'Сидор'    =>    176,
    11.     'Аня'            =>        180,
    12.     'Таня'    =>    179,
    13.     'Маня'    =>    171
    14. );
    15.  
    16.  
    17. $number = ?; /* Сколько человек выше анона */ 
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    отчасти это сложная штука, рано для изучения такое брать.

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

    neketsh Новичок

    С нами с:
    29 апр 2015
    Сообщения:
    17
    Симпатии:
    0
    Ребят, уже нашел ответ на свой вопрос.
    Код (PHP):
    1. foreach ($classmates as $name => $height) {
    2.     echo "Имя: {$name}, рост: {$height} см.\n";
    3.     
    4.     if ($height > $anonHeight) {
    5.     $number = $number +1;
    6.     }
    7. }
    8.  
    Добавлено спустя 1 минуту 40 секунд:
    Я решил взять то что уже изучил. Загнать в цикл и если в цикле будет выполняться условие, то $number будет становиться на 1 больше
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Ну хотя тоже верно, иногда решения на много проще чем видится. Я лично хотел обойтись только встроенными функциями, они лучше, они быстрее, но что то их слишком много, сортируй, вырезай, ищи, считай..