在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);
}
}