Довольно новый вопрос: /
У меня есть 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
Как я могу подвести их итог?
Благодарю.
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;
}
Попробуй это:
$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
работает правильно.