如何在循环内返回数组值并在PHP外部使用

如何在循环内返回数组值并在PHP外部使用,php,arrays,Php,Arrays,我有这样一个代码: 假设此数组具有以下值: $arr1 = array(); $arr2 = array(); $result = array(); $arr1[] = array( 'grade' => [1,2,3,4] ); $arr2[] = array( 'grade' => [1,2,3,4] ); foreach($arr1 as $a1){ $set1 = $a1['grade']; foreach($arr2 as $a2){ $set2 = $

我有这样一个代码: 假设此数组具有以下值:

$arr1 = array();
$arr2 = array();
$result = array();

$arr1[] = array( 'grade' => [1,2,3,4] );
$arr2[] = array( 'grade' => [1,2,3,4] );

foreach($arr1 as $a1){
$set1 = $a1['grade'];
    foreach($arr2 as $a2){
    $set2 = $a2['grade'];
    }
$result[] = array('show_result' => $set1+$set2);
}

foreach{$result as $res){
    echo $res['show_result'];
}
数组$res['show_result']的输出必须是:

2,4,6,8


但是我得到了这个数组的错误加法。非常感谢您的帮助。

您的代码中有不少语法错误

尽管此解决方案可行,但使用同一计数器(
$i
)从两个数组中提取值的想法是脆弱的。例如,如果第一个数组具有5个级别而不是4个级别,则将获得
未定义的偏移量。如果你退后一步,在更大的背景下解释你的问题,也许我们可以提供更好的解决方案。我暗自怀疑你在撒谎


您的代码中有很多语法错误

尽管此解决方案可行,但使用同一计数器(
$i
)从两个数组中提取值的想法是脆弱的。例如,如果第一个数组具有5个级别而不是4个级别,则将获得
未定义的偏移量。如果你退后一步,在更大的背景下解释你的问题,也许我们可以提供更好的解决方案。我暗自怀疑你在撒谎


  • 正如Joni所说,您的第一个错误出现在第3行:
    应该是
  • 然后,您没有像您所希望的那样填充数组:
    array('grade'=>1,2,3,4)创建一个数组,第一个键为“grade”,值为“1”,第二个键为“0”,值为“2”,依此类推
  • 最后一个foreach循环的语法错误与第一个错误类似
  • $arr1=array();
    $arr2=数组();
    $result=array();
    阵列推送($arr1,1,2,3,4)//用4个值(整数)填充数组
    阵列推送($arr2,1,2,3,4)//用4个值(整数)填充数组
    //所以$arr1和$arr2现在是一个4元素数组
    $length=计数($arr1)//数组的大小,这里是4
    对于($i=0;$i<$length;$i++){//数组上的循环
    array_push($result,($arr1[$i]+$arr2[$i]);//用同一位置的值之和填充结果数组
    }
    var_dump($结果);
    
  • 正如Joni所说,您的第一个错误出现在第3行:
    应该是
  • 然后,您没有像您所希望的那样填充数组:
    array('grade'=>1,2,3,4)创建一个数组,第一个键为“grade”,值为“1”,第二个键为“0”,值为“2”,依此类推
  • 最后一个foreach循环的语法错误与第一个错误类似
  • $arr1=array();
    $arr2=数组();
    $result=array();
    阵列推送($arr1,1,2,3,4)//用4个值(整数)填充数组
    阵列推送($arr2,1,2,3,4)//用4个值(整数)填充数组
    //所以$arr1和$arr2现在是一个4元素数组
    $length=计数($arr1)//数组的大小,这里是4
    对于($i=0;$i<$length;$i++){//数组上的循环
    array_push($result,($arr1[$i]+$arr2[$i]);//用同一位置的值之和填充结果数组
    }
    var_dump($结果);
    
    您的第一个错误在第3行:
    应该是
    。很明显,您实际拥有的代码与您在此处发布的代码有不同的错误。只有当你在这里发布的代码与你询问的代码有相同的错误时,我们才能帮助你。这是我的实际代码,先生。我想做的就是如何显示一个汇总数组。您的第一个错误在第3行:
    应该是
    。很明显,您实际拥有的代码与您在此处发布的代码有不同的错误。只有当你在这里发布的代码与你询问的代码有相同的错误时,我们才能帮助你。这是我的实际代码,先生。我所要做的就是如何展示一个总结的阵列,长官。但我还有一个问题。如何使用表中显示的$result?因为var_转储显示的结果在表中不适用,所以我得到了它,先生。非常感谢,先生。但我还有一个问题。如何使用表中显示的$result?因为var_转储显示的结果在表中不适用,所以我得到了它,先生。非常感谢,先生。但我还有一个问题。如何使用表中显示的$result?因为var_dump显示表$result中不适用的结果是一个数组,所以只需使用
    foreach($result as$sum){echo$sum;}
    循环即可。但我还有一个问题。如何使用表中显示的$result?因为var_dump显示表$result中不适用的结果是一个数组,所以只需使用
    foreach($result as$sum){echo$sum;}
    <?php
    
    $gradeList1 = ['grade' => [1,2,3,4]];
    $gradeList2 = ['grade' => [1,2,3,4]];
    $result = [];
    
    for ($i = 0; $i < count($gradeList1['grade']); $i++) {
    
        $first = $gradeList1['grade'][$i];
        $second = $gradeList2['grade'][$i];
    
        $result['show_result'][] = (int)$first + (int)$second;
    }
    
    var_dump($result);
    
    $arr1 = array();
    $arr2 = array();
    $result = array();
    
    array_push($arr1, 1, 2, 3, 4); //fill array with 4 values (integers)
    array_push($arr2, 1, 2, 3, 4); //fill array with 4 values (integers)
    
    //so $arr1 & $arr2 are now a 4 elements arrays
    
    $length = count($arr1); //size of array, here 4 
    
    for ($i = 0; $i < $length; $i++) { //loop over arrays
        array_push($result, ($arr1[$i] + $arr2[$i])); //fill the results array with sum of the values from the same position 
    }
    
    var_dump($result);