26 php系统函数intval 返回0 Str::intval">

自定义字符串函数 从字符串中提取数字 '["26","27"]' => 26 php系统函数intval 返回0 Str::intval

Str.php

 26  php系统函数intval 返回0
    '["26,27"]' => 26
    "26" => 26
     */
    public static function intval(/* string */ $s) {
        $digits = [];
        $t = 0; // 0 - other, 1 -digit

        for ($i = 0; isset($s[$i]); $i++) {
            $c = ord($s[$i]);
            if (48 <= $c && $c < 58) {
                if (empty($digits)) {
                    array_push($digits, $c - 48);
                } else {
                    if ($t == 1) {
                        array_push($digits, $c - 48);
                    }
                }
                $t = 1;
            } else {
                if (empty($digits)) {
                    $t = 0;
                } else {
                    break;
                }
            }
        }
        return array_reduce($digits, function($acc, $c) {
            return $acc * 10 + $c;
        }, 0);
    }

    /**
     * @param $s "工商银行-622848000000000"
     * @return string "622848000000000"
     */
    public static function extractNumbers($s) {
        $ns = "";
        for ($i = 0; isset($s[$i]); $i++) {
            $c = ord($s[$i]);
            if (48 <= $c && $c <58) {
                $ns .= $s[$i];
            }
        }
        return $ns;
    }

}

 

 

你可能感兴趣的:(自定义字符串函数 从字符串中提取数字 '["26","27"]' => 26 php系统函数intval 返回0 Str::intval)