public function GetOpsPremiums()
{
// Get the Cost Multiplier
$costMulti = $this->GetCostMultiplier();
// Get the Prem Ops
$premOps = $this->GetPremOpsEL();
// Get the Factors
$factors = $this->GetFactors();
// Get the full class array
$classArray = $this->GetClassArray();
foreach ($classArray as $key => $values) {
$classTotalHalved = $values / 1000;
$mainMultiplier = $costMulti * $premOps[$key] * $factors[$key]['premops'];
$premium = $classTotalHalved * $mainMultiplier;
$opsPremiums = array(
$key => round($premium)
);
}
return $opsPremiums;
}
我希望$ opsPremiums不仅一次迭代1。我需要它来迭代并将自己添加到自身。
我试过
foreach ($opsPremiums as $key2 => $values2) {
$opsPremiums = array(
$key => round($premium)
);
}
有人可以向我解释为了让$ opsPremium整齐地堆叠到一个数组中我需要做什么吗?
答案 0 :(得分:2)
我有点不确定你的意思,但是你想在$ opsPremium中返回所有结果吗?
问题是你在每次迭代时将其设置为一个数组而不是添加它。
$opsPremium = array();
foreach ($classArray as $key => $values) {
$classTotalHalved = $values / 1000;
$mainMultiplier = $costMulti * $premOps[$key] * $factors[$key]['premops'];
$premium = $classTotalHalved * $mainMultiplier;
$opsPremiums[] = array(
$key => round($premium)
);
}
return $opsPremiums;
在循环外存储$ opsPremium并每次添加它都会为您完成。
如果这不是你要求的,我道歉。
答案 1 :(得分:2)
应该如此
foreach ($opsPremiums as $key2 => $values2) {
$opsPremiums[] = array(
$key => round($premium)
);
}
答案 2 :(得分:0)
您似乎对如何谈论您的问题的术语感到困惑。我相信你应该问的是,我想添加一些额外的项目,包括它自己到一个数组返回。在这种情况下,你需要的魔法是数组连接。我有点不确定您的数组需要什么,但您可以使用[]运算符将任何内容附加到任何php数组。如果您回答更详细的问题,或许我可以帮助您。
根据您添加到数组的内容,要使程序运行,您可能需要使用array_merge,array_push。