2013-10-26 2 views
-1

У меня есть простой PHP-скрипт, который загружает список элементов из таблицы базы данных Joomla.Count Функция PHP не добавляет значения

$result = $db->loadObjectList();

После этого я пытаюсь подсчитать общее количество элементов в этом списке:

foreach($result as $key=>$value){ 
$items = $value->item; 
$count = count($items); 
echo $count; 
} 

для каждого цикла вывода 111 вместо добавления этих значений и обеспечение общей сложности 3. Я знаю, что это должно быть простое исправление с тем, как я вытягиваю значение в цикле, но я никак не могу установить соединение. Любые идеи очень ценятся.

+1

Так покажите, где ваш код на самом деле делает все, что можно было бы рассмотреть добавление! Возможно, вы хотели поставить '$ count + = count ($ items);' –

+0

это $ items [] = $ value-> item; not $ items = $ value-> item; –

+0

Что вы ожидаете? Что такое $ value-> item? – Gavin

ответ

0
$count = 0; 
foreach($result as $key=>$value){ 
    $items = $value->item; 
    $count += count($items); 
} 
echo $count; 
+0

потрясающий! Спасибо за быстрый ответ. вы добрались до него так быстро, что я должен подождать 8 минут, чтобы наградить ... – Presto

+0

Ahah, пожалуйста, также;) Кроме того, если вам нужно больше объяснений вокруг вашей ошибки, не стесняйтесь спрашивать! – Masadow

0

Я думаю, что $ items предназначено для массива. Если я прав, вы можете сделать smt. как следующее:

$result = $db->loadObjectList(); 
$items = array(); 

foreach($result as $key=>$value){ 
    $items[] = $value->item; 
    $count = count($items); 
    echo $count; //why echo here and why not outside the loop? 
} 
0

Вы можете подсчитать общее количество элементов, с помощью следующей строки:

$result = $db->loadObjectList(); //your existing code line 
echo count($result); //which gives you the total numbers 
Смежные вопросы