За последние 24 часа нас посетили 22636 программистов и 1588 роботов. Сейчас ищут 860 программистов ...

кол-во элементов массива по условию. Воозможно ??

Тема в разделе "PHP для новичков", создана пользователем Dima4321, 18 янв 2011.

  1. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    есть код очень длинный но упростил для наглядности:


    PHP:
    1. <?php
    2.   ini_set('display_errors',1);
    3.   error_reporting(E_ALL);
    4.  
    5. // есть массив $n
    6. $kolvo=count($n);
    7. echo $kolvo;
    8.  
    9. foreach($n as $m)
    10. {
    11. if($m>6)
    12. {
    13. echo $m;
    14. echo '<br>';
    15. }
    16. }
    17.  
    18.   ?>
    Можно ли сосчитать кол-во элементов массива по условию и вывести перед итерациями самого вывода массива ???

    у меня естественно условие сложнее и код тоже. Но думаю этот пример четко дает понимание того , что мне нужно.

    т.е. count не всего массива ,а по условию
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    поищи среди функций для массива, что-то должно быть.
    но если ты всё равно выводишь/бежишь по массиву, то не легче ли вначале объединить вывод, подсчитать кол-во необходимых элементов, и лишь затем вывести?

    PHP:
    1.  
    2. <?php
    3.  
    4.   ini_set('display_errors',1);
    5.   error_reporting(E_ALL);
    6.  
    7.   $kolvo = 0;
    8.   $output = '';
    9.  
    10.   foreach($n as $m){
    11.     if($m>6){
    12.       $output .= $m . '<br>';
    13.       $kolvo++;
    14.     }
    15.   }
    16.  
    17.   echo $kolvo;
    18.   echo $output;
    19.  
    20. ?>
    21.  
     
  3. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Спасибо за идею Gromo на простом коде работает только в путь ))

    PHP:
    1. <?php
    2.  
    3.    ini_set('display_errors',1);
    4.    error_reporting(E_ALL);
    5.    
    6.    $n=array(1,2,3,5,9,8,0,4,10);
    7.  
    8.    $kolvo = 0;
    9.    $output = '';
    10.  
    11.    foreach($n as $m){
    12.      if($m>6){
    13.        $output .= $m . '<br>';
    14.        $kolvo++;
    15.      }
    16.    }
    17.  
    18.    echo "Кол-во элементов массива: $kolvo";
    19.    echo '<br>';
    20.    echo $output;
    21.  
    22.  ?>
    а по поводу конкретной функции не думаю. что таковая существут.