在PHP中将数组和(字符串)与整数进行比较

在PHP中将数组和(字符串)与整数进行比较,php,regex,Php,Regex,我在检查中的convertFromJSCharcode函数时遇到了这行代码 foreach($charcode作为$char){ $char=preg_replace('/\W0/s',''$char); if(preg_match_all('/\d*[+-\/\*]\d+/',$char,$matches)){ $match=preg_split('/(\W?\d+/),内爆(''$matches[0]),null,preg_split_DELIM_CAPTURE); 如果(array_sum

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

foreach($charcode作为$char){
$char=preg_replace('/\W0/s',''$char);
if(preg_match_all('/\d*[+-\/\*]\d+/',$char,$matches)){
$match=preg_split('/(\W?\d+/),内爆(''$matches[0]),null,preg_split_DELIM_CAPTURE);
如果(array_sum($match)>=20&&array_sum($match)=20&&char,array_sum将返回一个数字(即整数或浮点)。

请查看文档:

array\u sum()
返回数组中的值之和

[……]

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

根据我的
数组\u sum
返回

整数或浮点数


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

执行:
var\u dump($match)
然后您可以看到它的类型。根据我的理解,数组sum返回整数或浮点值顺便问一下$match中的值是什么?如果您有一个字符串,您可以将其转换为整数,例如(int)$match&然后进行比较。$charcode中的数据是什么?
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);
            }
        }