Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组存储累积数_Php_Arrays - Fatal编程技术网

Php 使用数组存储累积数

Php 使用数组存储累积数,php,arrays,Php,Arrays,我创建了一个for(…)循环,在这个循环中,我计划遍历一个数组的值并使用这些值在另一个数组中累加它们,但是我从Apache收到一个通知,上面写着注意:未定义的偏移量:…。我使用的代码如下所示: for ($a=0;$a<count($original_array);$a++){ $accumulate_array[$a] += $original_array[$a] } 我认为,它引用的是一个仍然不存在的值。如果您还没有这样做,则必须在使用它之前声明您的表: $accumulat

我创建了一个for(…)循环,在这个循环中,我计划遍历一个数组的值并使用这些值在另一个数组中累加它们,但是我从Apache收到一个通知,上面写着注意:未定义的偏移量:…。我使用的代码如下所示:

for ($a=0;$a<count($original_array);$a++){
    $accumulate_array[$a] += $original_array[$a]
}

我认为,它引用的是一个仍然不存在的值。

如果您还没有这样做,则必须在使用它之前声明您的表:

$accumulate_array = array();

如果尚未执行此操作,则必须在使用表之前声明:

$accumulate_array = array();

你是对的,通知是因为这一行:

$accumulate_array[$a] += $original_array[$a];
因为它扩展到:

$accumulate_array[$a] = $accumulate_array[$a] + $original_array[$a];
$accumulate\u数组[$a]
在试图获取该值时未定义。因此,如果要创建运行求和,可能需要将其初始化为零,如下所示:

if( !isset( $accumulate_array[$a] )) $accumulate_array[$a] = 0;
$accumulate_array[$a] = $accumulate_array[$a] + $original_array[$a];

你是对的,通知是因为这一行:

$accumulate_array[$a] += $original_array[$a];
因为它扩展到:

$accumulate_array[$a] = $accumulate_array[$a] + $original_array[$a];
$accumulate\u数组[$a]
在试图获取该值时未定义。因此,如果要创建运行求和,可能需要将其初始化为零,如下所示:

if( !isset( $accumulate_array[$a] )) $accumulate_array[$a] = 0;
$accumulate_array[$a] = $accumulate_array[$a] + $original_array[$a];
首先,声明新(空)数组:

然后,根据需要推送:

for ($a=0; $a<count($original_array); $a++){
    array_push($accumulate_array, $original_array[$a]); 
}
对于($a=0;$a),首先声明新的(空)数组:

然后,根据需要推送:

for ($a=0; $a<count($original_array); $a++){
    array_push($accumulate_array, $original_array[$a]); 
}

for($a=0;$a只需添加对不存在索引的检查。而且,为什么不使用
foreach
进行数组迭代呢

foreach($original_array as $key => $value) {
    if (!empty($accumulate_array[$key])) {
        $accumulate_array[$key] += $original_array[$key];
    } else {
        $accumulate_array[$key] = 0;
    }
}

只需添加对不存在索引的检查。还有,为什么不使用
foreach
进行数组迭代呢

foreach($original_array as $key => $value) {
    if (!empty($accumulate_array[$key])) {
        $accumulate_array[$key] += $original_array[$key];
    } else {
        $accumulate_array[$key] = 0;
    }
}

使用
foreach
。数组的索引似乎不是顺序键/整数键。

使用
foreach
。数组的索引似乎不是顺序键/整数键。

所需的功能是添加值,而不是添加。所需的功能是添加值,而不是添加。这不是作为OP问题的来源,PHP只会在它第一次被引用时创建数组。这不是OP问题的来源,PHP只会在它第一次被引用时创建数组。