将array_sum(string)与PHP中的整数进行比较

时间:2016-03-04 03:25:24

标签: php regex

我在检查PHPIDS/Monitor中的convertFromJSCharcode函数时遇到了这行代码。

foreach ($charcode as $char) {
            $char = preg_replace('/\W0/s', '', $char);

            if (preg_match_all('/\d*[+-\/\* ]\d+/', $char, $matches)) {
                $match = preg_split('/(\W?\d+)/', implode('', $matches[0]), null, PREG_SPLIT_DELIM_CAPTURE);

                if (array_sum($match) >= 20 && array_sum($match) <= 127) {
                    $converted .= chr(array_sum($match));
                }

            } elseif (!empty($char) && $char >= 20 && $char <= 127) {
                $converted .= chr($char);
            }
        }

如何将array_sum($match)与整数进行比较?我的理解是array_sum($match)是一个字符串。 $cha r。

也是如此

3 个答案:

答案 0 :(得分:1)

从这个document,array_sum将返回一个数字(即整数或浮点数)。

答案 1 :(得分:1)

查看array_sum文档:

  

array_sum()返回数组中值的总和。

     

[...]

     

返回值

     

以整数或浮点数形式返回值的总和。

答案 2 :(得分:1)

根据我的understanding array_sum返回

中的值
  

整数或浮动

如果您有一个字符串,您可以将其转换为整数,例如(int)$match&amp;然后比较。