如何在PHP中返回foreach循环中的数组
我想在一个函数中做一些计算,这个函数取一个常量值,然后取不同的值。为此,我创建了一个数组和一个变量,以及一个循环,该循环将获取数组的每个成员和常量值,并将它们传递给执行计算的函数。我想得到一个数组,然后我可以做更多的计算如何在PHP中返回foreach循环中的数组,php,arrays,foreach,Php,Arrays,Foreach,我想在一个函数中做一些计算,这个函数取一个常量值,然后取不同的值。为此,我创建了一个数组和一个变量,以及一个循环,该循环将获取数组的每个成员和常量值,并将它们传递给执行计算的函数。我想得到一个数组,然后我可以做更多的计算 function subtract($a, $b){ $c=$b-$a; return $c. ','; } $r=3; $numbers = array(12, 11, 6, 9); foreach ($numbers as $index=&
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
为什么会这样?非常感谢您的帮助。我知道echo是个局部问题
排列
(
[0] => 6,
)
不是我想象中的9,8,3,6吗?你不能
回送数组。改用var\u dump
或print\r
。不能回送数组。尝试使用print\r($扣减)
或var\u dump($扣减)
此外,以下行可能不正确:
$deductions=array(subtract($r, $value));
这一行将继续替换前面的$DELECTIONS变量,因此数组中只有一个值(6),因为9-3是6。如果要创建一个值数组,需要按如下方式向数组中添加新值:
$deductions[] = subtract($r, $value);
您还可以:
for($i=0;$i<count($deduction);$i++)
{
$return += $deduction[$i]." ";
}
echo $return;
for($i=0;$i)您正在字符串上下文中输出一个数组,它将成为字面单词array
,例如$foo=array('a');echo$foo
将输出array
,而不是a
。如果您想吐出数组的内容,那么内爆()
将其转换为字符串。这也没有意义。您的函数返回字符串。将该字符串包装成数组,然后检查是否有数组。当然,它始终是一个数组-您只是在前一行将数组包装在字符串周围。感谢大家指出“echo”问题,但我还有另一个问题,这就是为什么当我在一个漂亮的数组中打印整个计算结果时,索引[0]中得到了6。我没有得到它。@kowjow7,成功了。我希望我能给你10分,但我要投票,接受我能为你做的一切。谢谢你much@kowjow7,是扣除额[]现在是一个实际的数组?为什么我不能在它上面执行常规函数,如sort、max、min之类的东西?是的,[]表示一个数组。您到底是如何使用这些函数的?您可能想在代码中发布一个新问题。