parsing — сумма переменной в синтаксическом анализе переполнения стека

я пытаюсь суммировать переменную в цикле Parse PHP-фрейм, он работает, но не получает ожидаемого результата, я ожидаю, что 1 + 1 равен 2, но получаю 11 и выводит на печать обе переменные, используемые для выполнения суммы,

мой код

    function amount()
{

$ip=getUserIP();

$crat_item= new ParseQuery("Cart");
$crat_item->EqualTo("ipAddress", $ip);
$crat_item->each(function($object){
GLOBAL $sum;
$total=0;
$a=$object->get('quantity');
$prMSP=intval($a);
$fMSP=array('msp' => $prMSP);

$sum=array_sum($fMSP);

$total+=$sum;

echo "$total";

});
}

0

Решение

Вы сбрасываете свой $total переменная в цикле. Так что это на самом деле печать 1 & затем 1 опять не 11,

Измените его, чтобы сделать следующее;

$total = 0; // define $total variable here..
$crat_item->each(function($object) {
GLOBAL $sum;
$a = $object->get('quantity');
$prMSP = intval($a);
$fMSP = array('msp' => $prMSP);

$sum = array_sum($fMSP);

$total+=$sum;
});

// now echo total
echo "$total";

Обратите внимание, как мы переместили создание экземпляра переменной из функции? Это остановит его «воссоздание» каждый раз, когда вы перебираете ответ на данные. То же самое с вашим echo из $total,

1

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

это окончательный ответ на вопрос abobe `function amount ()
{

      $ip=getUserIP();
GLOBAL $total;

$total=0;

$crat_item= new ParseQuery("Cart");
$crat_item->EqualTo("ipAddress", $ip);
$crat_item->each(function($object){
GLOBAL $sum;
GLOBAL $total; //convert it in global here
// $total=0;
// GLOBAL $sum;
$a = $object->get('productMSP');
$prMSP = intval($a);
$fMSP = array('msp' => $prMSP);

$sum = array_sum($fMSP);

$total+=$sum;}); echo "$total";
}`
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector