php - 将数字除以 2 个多维数组
问题描述
我有 2 组多维数组($profit 和 $sales)。我想将 2 个多维数组中的数字相除以获得保证金百分比(使用此公式:$profit/$sales*100)
$profit= array(
0 => array(
"no"=> "1",
"value"=>"10"
),
1=> array(
"no"=> "2",
"value"=>"15"
)
);
$sales= array(
0 => array(
"no"=> "1",
"value"=>"100"
),
1=> array(
"no"=> "2",
"value"=>"200"
)
);
这是预期的输出:
$margin= array(
0 => array(
"no"=> "1",
"value"=>"10"
),
1=> array(
"no"=> "2",
"value"=>"7.5"
)
);
我已经做了一些搜索,但仍然没有运气,下面是我正在使用的功能,它不起作用:
function ArrayDivide($arrayList = [])
{
$m = [];
$no_details = [];
$i = 0;
foreach ($arrayList as $arrayItem) {
foreach ($arrayItem as $subArray) {
if (isset($no_details[$subArray['x']])) {//if no is exist
$m[$no_details[$subArray['x']]]['y'] = $m[$no_details[$subArray['x']]]['y'] /$subArray['y']*100;
} else {
$no_details[$subArray['x']] = $i;
$m[$i] = ["x"=>$subArray['x'], "y"=>"0"];
$i++;
}
}
}
return $m;
}
你以前是怎么做类似功能的?我应该在哪里修?
谢谢。
解决方案
像这样的东西?如果我正确理解了你的问题。
function getMargin($profit, $sales){
$margin = [];
foreach($profit as $key => $val){
$no = $val['no'];
$value = $val['value'];
if(isset($sales[$key]) && $sales[$key]['no'] == $no){
$res = ($value/$sales[$key]['value'])*100;
$margin[$key]['no'] = $no;
$margin[$key]['val'] = $res;
}
}
return $margin;
}
var_dump(getMargin($profit, $sales));
推荐阅读
- elasticsearch - 弹性搜索缩放浮动不接受数据
- tensorflow - 检查点中的张量名称与 tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES) 不同
- ajax - 如何在 ajax 中接收多个数组,从 laravel 中的控制器方法作为 JSON 传递?
- mysql - 我想将 AUTO_INCREMENT 更改为 UUID
- mysql - 如何使用 ssis 将数据从 mysql 插入到 ssms
- java - 展平二叉树,将分支作为列表返回
- uml - 有人能告诉我我是否尝试过用例图来解决这种情况吗?
- firefox - WebExtension:fireFox(基本操作系统)中未定义 browser.tabs
- pandas - 如何根据熊猫数据框数据透视表中的条件获取列中的值?
- haskell - 获取列表中的列表元素