如何在PHP中的foreach循环中返回一个数组

时间:2015-06-12 21:15:18

标签: php arrays foreach

我想在对不同值采用常量值的函数中进行某些计算。为此,我创建了一个数组和一个变量,还有一个循环,它将获取数组的每个成员和常量值,并将它们传递给执行计算的函数。我想得到一个数组然后我可以做更多的计算。

function subtract($a, $b){
    $c=$b-$a;
    return $c. ',';
    }
    $r=3;
$numbers = array(12, 11, 6, 9);

foreach ($numbers as $index=>$value) {
    $deductions=array(subtract($r, $value));
    //$minimum=min($deductions);
    if (is_array($deductions)){
    //echo $deductions;
    }else{
        //echo "not array";
    }
}
//$minimum=min($deductions);
//echo $minimum;
echo $deductions;

我得到“数组”而不是9,8,3,6 为什么是这样?任何帮助是极大的赞赏。回声是部分问题,我明白了  排列 (     [0] => 6, ) 不是我预期的9,8,3,6?

3 个答案:

答案 0 :(得分:4)

您无法回显数组。尝试使用print_r($deductions)var_dump($deductions)

此外,以下行可能不正确:

$deductions=array(subtract($r, $value));

此行将继续替换之前的$ deductions变量,因此您只能在数组中使用一个值(6),因为9-3是6.如果您想要创建值数组,则需要添加新的数组的值如下:

$deductions[] = subtract($r, $value);

答案 1 :(得分:3)

你不能echo一个数组。请改用var_dumpprint_r

答案 2 :(得分:3)

你也可以:

 for($i=0;$i<count($deduction);$i++)
 {
 $return += $deduction[$i]." ";
 }
 echo $return;