文本字符串的总和值

时间:2012-02-29 18:40:56

标签: php

我有客户你输入卧室为1 + 2而不是输入总数,在这种情况下是3.在PHP中有一个方法可以让我采用一个简单的字符串并生成总和值?

$bedrooms = '1 + 2';

4 个答案:

答案 0 :(得分:3)

你可以这样做:

$bedrooms = array_sum(explode("+", str_replace(" ", "", "1 + 2")));

答案 1 :(得分:2)

查找eval - 这应该可以解决问题。

但请确保您有一个良好的正则表达式,以确保输入不会造成任何伤害

e.g。 `^ [1-9] + *(+ [1-9] +) $'

答案 2 :(得分:1)

用+解析该字符串 进入数组 添加值

答案 3 :(得分:0)

试试这个

    $bedrooms = 1 + 2;
    $pattern = '/([a-zA-Z \+\-])+/';
    $replacement = '+';
    echo array_sum(explode('+', preg_replace($pattern, $replacement, $bedrooms)));

只是为了确保输入字符串中有一些字符