douyeke2695 2019-04-04 20:20
浏览 28
已采纳

Php相当于这个功能

I have this javascript function, I need to convert this to a php function

function vwap(p)
{
  if (p.length === 1 && Array.isArray(p[0])) p = p[0]
  if (!p.length) return 0
  // formula: sum(num shares * share price)/(total shares)
  return p.reduce((s,x) => s + (x[0]*x[1]), 0) / p.reduce((s,x) => s + x[0], 0) || 0;
}

I tried below so far but I am struck

function vwap($p) {
    if (empty($p)) {
        return 0;

        for ($p as $s) {
            //unable to understand this part in js
        }

    }

}

For testing purpose vwap([[5, 10], [13, 8.5], [10, 11]]) must return 9.66

  • 写回答

4条回答 默认 最新

  • dsfdsf46465 2019-04-04 20:34
    关注
        function vwap($p)
        {
            if (count($p) === 1 && is_array($p[0])) {
                $p = $p[0];
            }
    
            if (!count($p)) {
                return 0;
            }
    
            return array_reduce($p, function ($s, $x) {
                    return $s + ($x[0] * $x[1]);
                }, 0) / array_reduce($p, function ($s, $x) {
                    return $s + $x[0];
                }, 0);
        }
    

    1:1 php port.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)