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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Посчитать количество элементов ассоциативного массива, удовлетворяющих условию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
goooooch
Отправлено: 03 Февраля, 2014 - 15:25:31
Post Id



Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Всем привет.

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

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

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.

В приведенном примере таких массивов два.
 
 Top
IllusionMH
Отправлено: 03 Февраля, 2014 - 15:29:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




goooooch, как пробовали? Код в студию.
Элементарный же вопрос: создаете переменную в которую будет заноситься число таких элементов и присваиваете ей ноль.
Потом в цикла пробегаетесь по каждому элементу и если существует и равен еденице элемент SELECTED, тогда наращиваете переменную.
После цикла получите число искомых элементов.
 
 Top
goooooch
Отправлено: 03 Февраля, 2014 - 15:49:07
Post Id



Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




По вашему алгоритму сделал так:
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.         ?>

Спасибо. Работает.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB