Суммирование всех значений в цикле PHP

Довольно новый вопрос: /

У меня есть API, который возвращает значения, я просто хочу получить количество элементов в XML, но оно ограничено 30 на запрос.

function SOMEfunction($number){
$curl = curl_init("*URL*?format=xml&page=" . $number);
$result = curl_exec($curl);
$xml = simplexml_load_string($result);
$ttn = $xml->count();
echo "$ttn<br>";
}

так,
Поскольку я просто хочу получить количество элементов в XML, я запускаю короткий цикл while, который хочу как-то суммировать.

$sum=0;
$num=1;
while ($num < 7)
{
$sum += SOMEfunction($num);
$num++;
}
echo $sum;

текущий выход:

30
30
30
30
2
0
0

Как я могу подвести их итог?

Благодарю.

2

Решение

SOMEfunction должен вернуть значение, а не печатать его следующим образом:

function SOMEfunction($number){
$curl = curl_init("*URL*?format=xml&page=" . $number);
$result = curl_exec($curl);
$xml = simplexml_load_string($result);
$ttn = $xml->count();
return $ttn;
}
3

Другие решения

Попробуй это:

$sum=0;
$num = 1;
do {
$sum += SOMEfunction($num);
$num++;
} while ( $num > 0 && $num < 7 );

echo $sum;

Это предполагает, что остальная часть вашего кода, включая SOMEfunction работает нормально. Вы также можете пересмотреть цикл while, но я не совсем уверен в этом.

Еще один способ сделать это:

$sum=0;
$num=1;
while ($num < 7)
{
$sum += SOMEfunction($num);
$num++;
}
echo $sum;

Попробуйте это и посмотрите, работает ли это. Если нет, то я не уверен, если ваш SOMEfunction работает правильно.

0

По вопросам рекламы [email protected]