发布网友 发布时间:2022-04-23 07:25
共1个回答
热心网友 时间:2022-06-17 15:44
问题挺多:
1.$sum = array_sum($arr[$i]); $arr[$i]是一个值,不是一个数组!
2.$arr = array(); 循环内不需要定义一次
3.$arr = array_push($arr,$d[1][$i]); 应该是array_push($arr,$d[1][$i]); 前面的 $arr=去掉
4.$sum = 0; 应该定义在循环体外,要不每次循环都重置。
我没怎么看懂这段代码你想表达的意思
终于看懂了,修改下
<?php
$a = array ("A","A","A","A","A","A","A");
//print_r( array_keys($a));
$b = array ("A","B","A","A","B","A","A");
$c = array(10,10,10,10,20,20,20);
$d = array();
array_push($d,$b);
array_push($d,$c);
print_r($d);
echo "<br/>";
echo "sum_c-->>".array_sum($c)."<br/>";
echo "<br/>";
$arr = array();
for ($i=0; $i<=6; $i++){
$sum = 0;
if ($a[$i] == $d[0][$i]){
echo "a[$i]-->>".$a[$i]."<br/>";
echo "d[0][$i]-->>".$d[0][$i]."<br/>";
echo "d[1][$i]-->>".$d[1][$i]."<br/>";
array_push($arr,$d[1][$i]);
$sum = array_sum($arr);
echo "<hr/>";
}
//print_r($arr);
//echo "a[$i]-->>".$a[$i]."<br/>";
//echo "sum=".$sum."<br/>";
}
echo "sum=".$sum."<br/>";
?>
下面我写的
<?php
$a = array ("A","A","A","A","A","A","A");
//print_r( array_keys($a));
$b = array ("A","B","A","A","B","A","A");
$c = array(10,10,10,10,20,20,20);
$temp = array();
$temp = array_diff_assoc($a,$b);
$temp = array_diff_key($c,$temp);
echo array_sum($temp);
?>追问您好,谢谢您的回答,我还有点问题:
第一次的$temp:
Array ( [1] => A [4] => A )
第二次的$temp:
Array ( [0] => 10 [2] => 10 [3] => 10 [5] => 20 [6] => 20 )
在array_diff_key()取差集的时候,是按索引号比较的吗?不是按值对比。