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

时间:2019-03-15 00:55:20

标签: 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 = $a2['grade'];
    }
$result[] = array('show_result' => $set1+$set2);
}

foreach{$result as $res){
    echo $res['show_result'];
}

数组 $ res ['show_result'] 的输出必须为:

  

2、4、6、8

但是我弄错了这个数组的加法。帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

尽管此解决方案有效,但使用相同的计数器$i从两个数组中提取值的想法很脆弱。例如,如果第一个数组的成绩为5分而不是4分,那么您将得到Undefined offset。如果您退后一步并在较大的范围内解释问题,也许我们可以提供更好的解决方案。我暗中怀疑您是asking an XY Problem

http://sandbox.onlinephpfunctions.com/code/bb4f492c183fcde1cf4edd50de7ceebf19fe343a

<?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);

答案 1 :(得分:1)

  1. 正如乔尼所说,您的第一个错误是在第3行:<div class="row mx-md-n5"> <div class="col py-3 px-md-5 border bg-light">Custom column padding</div> <div class="col py-3 px-md-5 border bg-light">Custom column padding</div> </div> 应该是'
  2. 然后,您将不会按需要填充数组:;创建一个数组,其第一个键为'grade'且值为'1',然后第二个键为'0'且值为'2'等。 ..
  3. 您的最后一个foreach循环的语法错误与您的第一个错误类似。

See a working correction here

array( 'grade' => 1,2,3,4 );