doubei2340
2015-06-12 21:15
浏览 97
已采纳

如何在PHP中的foreach循环中返回一个数组[重复]

This question already has an answer here:

I would like to do certain calculation in a function that takes a constant value against different values. To do that I created an array and a variable and also a loop that will take each member of the array and the constant value and pass them to the function that does the calculation. I would like to get an array and then I can do more calculations subsequently.

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;

I get "Array" and not 9,8,3,6 Why is this? Any help is greatly appreciated. echo was partial problem, I get Array ( [0] => 6, ) not 9,8,3,6 as I expected?

</div>
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dongqiu3709 2015-06-12 21:17
    已采纳

    You cannot echo an array. Try using print_r($deductions) or var_dump($deductions).

    Also, the following line is likely incorrect:

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

    This line will keep replacing the previous $deductions variable so you only end up with one value in your array (6) because 9-3 is 6. If you are wanting to create an array of values you need to add the new value to the array as follows:

    $deductions[] = subtract($r, $value);
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • duanlaiyin2356 2015-06-12 21:17

    You can't echo an array. Use var_dump or print_r instead.

    评论
    解决 无用
    打赏 举报
  • dongsu1539 2015-06-12 22:14

    You can also:

     for($i=0;$i<count($deduction);$i++)
     {
     $return += $deduction[$i]." ";
     }
     echo $return;
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题