在按钮上单击php脚本添加数组

时间:2015-06-23 22:39:31

标签: php arrays

我在php中运行并返回一个数字。但是我想要的是每次运行函数时要加起来的数字。

这是代码。

 function sumRate(&$numbers) {
    $sumArray="0";
    if($numbers)
$sumArray=$numbers;
            $countedArray=($sumArray+$numbers);             
            echo "<script>console.log('$countedArray')</script>"; 
    }

当按钮单击时,Jquery Ajax将值发送到服务器端。

让我们说

sumRate("23");//console log 23
sumRate("20");//console log 20

但我想要的是,每次运行该功能时,控制台都要记录43而不是登录每个号码

Weldone提前

3 个答案:

答案 0 :(得分:1)

您不会看到输入被加在一起,因为您的输入只会持续与函数调用一样长。您需要一个可以存储此值的变量,并且不限于sumRate

的范围

尝试

$mySum = 0;

sumRate($mySum, 23);//console log 23
sumRate($mySum, 20);//console log 43


 function sumRate(&$sum, $number) {
    if($number)
        $sum +=$number;
            echo "<script>console.log('$sum')</script>"; 
    }

答案 1 :(得分:1)

我不确定你的目标是什么,但是如果你想跟踪一个运行总和,一种方法是使用globals这样:

$sum = 0;
function sumRate($number) {
    global $sum;
    if($number) {
        $sum += intval($number);       
        echo "<script>console.log('$sum')</script>"; 
    }
}

sumRate("20");
sumRate("23");

输出:

<script>console.log('20')</script>
<script>console.log('43')</script>

旁注:

我们无法通过引用传递值文字。如果我们在带有签名sumRate("23")的函数上调用function sumRate(&$numbers),则会抛出致命错误。而是传入一个变量,或者从签名中省略&

<强>更新

在客户端,如果您只想要最终的总和,而不是每个数字,那么您可以这样做:

$sum = 0;
function sumRate($number) {
    global $sum;
    if($number) {
        $sum += intval($number);       
    }
}

sumRate("20");
sumRate("23");

echo "<script>console.log('$sum')</script>";

输出:

<script>console.log('43')</script>

答案 2 :(得分:1)

简单

    <?php

     function sumRate($numbers) {
            global $countedArray;
$countedArray=$numbers+$countedArray;             
     return $countedArray;
}
   echo sumRate(20);
  echo sumRate(23);

    ?>