我在检查 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也是如此。
在本文档中,array_sum将返回一个数字(即整数或浮点数)。
查看array_sum
文档:
array_sum()
返回数组中值的总和。[...]
返回值
以整数或浮点数形式返回值的总和。
根据
我的理解array_sum
返回值
整数或浮点数
如果你有一个字符串,你可以强制转换它并转换为整数,比如(int)$match
然后比较。