尝试使用存储在PHP数组中的数据为每个员工添加总计

尝试使用存储在PHP数组中的数据为每个员工添加总计,php,arrays,loops,multidimensional-array,calculation,Php,Arrays,Loops,Multidimensional Array,Calculation,因此,我试图编写一个脚本,从数据库中获取包含员工姓名和薪酬的数据。信息是以JSON格式检索的,我想我已经正确解码并放入关联数组。我遇到的问题是如何在数组中循环以获得每个员工的总薪酬 以下是我迄今为止从解码JSON文件的部分开始的代码 //decode JSON file $payout_array = json_decode($info, true); echo '<pre>' . print_r($payout_array, true) . '</pre>'

因此,我试图编写一个脚本,从数据库中获取包含员工姓名和薪酬的数据。信息是以JSON格式检索的,我想我已经正确解码并放入关联数组。我遇到的问题是如何在数组中循环以获得每个员工的总薪酬

以下是我迄今为止从解码JSON文件的部分开始的代码

    //decode JSON file
$payout_array = json_decode($info, true);


echo '<pre>' . print_r($payout_array, true) . '</pre>';

/*foreach($payout_array as $key=>$value)
{
    if($key['Name'] == "Jane")
    {
        $jane_payout = array_sum($value['Amount']);
    }
    if($name == "Mark")
    {
        $mark_payout = sum($amount);
    }
   
}*/

/*foreach ($payout_array as $key => $sub_array) {
    foreach ($sub_array as $sub_key => $value) {
        if($value['Name'] == "Jane")
        {
            $jane_payout = array_sum($value['Amount']);
        }
        if($value == "Mark")
        {
            $mark_payout =+ sum($value['Amount']);
        }
       
    }
}*/

//Proccess data to calculate the amount paid to each employee
/*$mark_payout = array_sum($payout_array->Amount);*/

echo "Jane $".number_format($jane_payout, 2);
echo "<br>";
echo "Mark $".number_format($mark_payout, 2);

?>
//解码JSON文件
$payout\u array=json\u decode($info,true);
回显“”。打印($payout\u数组,true)。“”;
/*foreach($payout\u数组为$key=>$value)
{
如果($key['Name']==“Jane”)
{
$jane_payout=array_sum($value['Amount']);
}
如果($name==“标记”)
{
$mark_支出=总额($amount);
}
}*/
/*foreach($payout\u数组为$key=>$sub\u数组){
foreach($sub\u数组为$sub key=>$value){
如果($value['Name']==“Jane”)
{
$jane_payout=array_sum($value['Amount']);
}
如果($value==“标记”)
{
$mark_支出=+金额($value['Amount']);
}
}
}*/
//处理数据以计算支付给每位员工的金额
/*$mark\u payout=array\u sum($payout\u array->Amount)*/
echo“Jane$”.number\u格式($Jane\u payout,2);
回声“
”; echo“Mark$”.number\u格式($Mark\u payout,2); ?>
我目前在浏览器中看到的结果是

在第三张照片上,你可以看到简和马克总共花了0.00美元。我的目标是让$0.00实际显示所有数组条目中支付给每个员工的总额。一旦我能够做到这一点,我将把新信息编码到JSON文件中,并将其发布到客户机服务器。客户需要看到的最终结果是员工的姓名和他们已支付的总金额


我尝试了各种foreach循环,甚至在代码中留下了一些注释,但无法让它正确访问元素以执行计算。我是新手,对PHP几乎没有经验,所以非常感谢您的帮助

未经测试,但这通常是您想要的


这让我非常接近,但我一直在第59行(最后一个右大括号之前的print语句)出现一个错误,该行显示未定义的数组键“Name”。其中很多似乎都来自于我问题中提供的代码,那么您是否有机会解释一下从何处获得这些信息?我只是想追溯一下,以确保所有大小写都正确无误。此外,它也显示了支付给每位员工的金额,但是否有办法将其合计,以便每个姓名只显示一个数字?最终结果应该有两个名称和两个数字。谢谢有志者事竟成。。。这感觉像是一个家庭作业问题,所以我将让你解决其余的问题。我首先将
$name
作为键值添加到正在创建的数组中<代码>$payout\u数组[$name]
$value['Name']
的问题也很简单,因为它有多个其他正确的引用,可以替换为;)最后,设置总支出可能类似于
$value['fields']['Amount']+$payout\u数组[$name]['total\u payout']
。欢迎来到堆栈溢出,顺便说一句!您还需要检查,因为$payout_数组在第一次运行时可能没有值<代码>$value['fields']['Amount']??'上面的0'就是一个很好的例子。这不是家庭作业。我这样做是为了学习和自学php。否则我会问老师。我真的很感激你的帮助,但我还是无法让它做正确的计算。我的语法有点问题,我真的需要有人帮助我,这样我就可以学习了。当我试图计算总数时,它只会像每个人的前两个一样相加。我尝试使用array_sum(),但它给了我一个错误“Uncaught TypeError:array_sum():参数#1($array)必须是array类型,float在C:\xampp\htdocs\DevTest\payout.php:49堆栈跟踪:#0 C:\xampp\htdocs\DevTest\payout.php(49):array_sum(777.21)#1{main}在C:\xampp\htdocs\DevTest\payout.php第49行抛出”。你能帮我解决这个问题吗?或者你能告诉我谁能帮我解决这个问题,或者我在哪里能找到在线文档?