如何在循环内返回数组值并在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);