Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Посчитать количество элементов ассоциативного массива, удовлетворяющих условию
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Посчитать количество элементов ассоциативного массива, удовлетворяющих условию

Страниц (1): [1]
 

1. goooooch - 03 Февраля, 2014 - 15:25:31 - перейти к сообщению
Всем привет.

Помогите, пожалуйста, разобраться.

Есть массив из вложенных ассоциативных массивов:

Array
(

[0] => Array ( [TEXT] => О турбазе [LINK] => /about/ [SELECTED] => 1)

[1] => Array ( [TEXT] => Местоположение [LINK] => /about/contacts/ [SELECTED] =>)

[2] => Array ( [TEXT] => 3D-тур [LINK] => /about/3d/ [SELECTED] => 1)

[3] => Array ( [TEXT] => Фотогалерея [LINK] => /about/photo-gallery [SELECTED] =>)

[4] => Array ( [TEXT] => Видео [LINK] => /about/video-gallery/ [SELECTED] =>)

)

Мне нужно посчитать сколько раз внутри первого массива встречаются вложенные массивы, у которых [SELECTED] => 1.

В приведенном примере таких массивов два.
2. IllusionMH - 03 Февраля, 2014 - 15:29:40 - перейти к сообщению
goooooch, как пробовали? Код в студию.
Элементарный же вопрос: создаете переменную в которую будет заноситься число таких элементов и присваиваете ей ноль.
Потом в цикла пробегаетесь по каждому элементу и если существует и равен еденице элемент SELECTED, тогда наращиваете переменную.
После цикла получите число искомых элементов.
3. goooooch - 03 Февраля, 2014 - 15:49:07 - перейти к сообщению
По вашему алгоритму сделал так:
PHP:
скопировать код в буфер обмена
  1. <?
  2.         $count_arr = 0;
  3.     for ($i = 1; $i < count($arResult); $i++)
  4.         {
  5.                 if($arResult[$i]["SELECTED"] == 1)
  6.                 {
  7.                 $count_arr = $count_arr +1;
  8.                 }  
  9.         }
  10.         //print_r($count_arr);
  11.         ?>

Спасибо. Работает.

 

Powered by ExBB FM 1.0 RC1