【问题标题】:Handle number in string php (Part2)处理字符串 php 中的数字(第 2 部分)
【发布时间】:2016-07-27 09:59:41
【问题描述】:

这是我的问题 1:Handle number in string PHP。我解决了。

现在,我看到了新问题,你可以看到图片:

我只想得到数字,而不是日期(500000 和 200000)并求和。

这是我没有日期的代码:

$total= 0;
    $ex = explode(' ',$_POST['txtSalary']);
    function total($ex) {
        global $total;
        return $total+=$ex;
    }
    array_map('total',$ex);
    echo $total."<br/>";

我尝试了很多但没有结果,希望你能帮助我。谢谢!

【问题讨论】:

  • 通过打印显示$_POST['txtSalary']的实际内容。 print_r($_POST['txtSalary']);显示值
  • var_dum($ex) 看看你得到了什么。您没有从 explode 获得正确的值。
  • $ex 是一个数组。问题:您正在尝试将数组添加到整数
  • $_POST['txtSalary'] 是一个数组吗?因为你不能爆炸一个数组。如果你只需要爆炸的第二部分,你为什么要使用 array_map?改用 $total += $ex[1];
  • 请查看此链接:- eval.in/612692 .. 如果正确,请告诉我。我会将其发布为答案。谢谢

标签: php string string-parsing


【解决方案1】:

我假设您的 $_POST['txtSalary'] 如下所示:-

$_POST['txtSalary'] = '-27/07/2016: 5000000
-01/08/2016: 2000000';

所以请像下面这样:-

<?php

$_POST['txtSalary'] = '-27/07/2016: 5000000
-01/08/2016: 2000000';

$array = explode(PHP_EOL, $_POST['txtSalary']);
print_r($array);

$sum = 0;
foreach($array as $arr){
   $sum += explode(': ',$arr)[1];
}

echo $sum;

输出:-https://eval.in/612692

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多