LeeCode中StringtoInteger(PHP實現)
阿新 • • 發佈:2018-12-12
<?php /** * Created by PhpStorm. * User: jiangyu01 * Date: 2018/10/1 * Time: 14:51 * Title: * 實現 atoi,將字串轉為整數 * 當字串中的第一個非空字元序列不是個有效的整數;或字串為空;或字串僅包含空白字元時,則不進行轉換。 */ $string = ' -42030 '; //定義字串變數 /** * @param string $string * 定義轉換函式 */ function StringtoInteger(string $string) { $up_limit = pow(2,31)-1; //上限 $down_limt = -pow(2,31); //下限 $string = trim($string); //去除字元前後空白字元 $sign = ''; //定義符號變數 if ($string[0] == '-'){ $sign = '-'; $string = substr($string,1); //如果存在符號則記錄並且擷取除符號外的字元 }elseif ($string[0] == '+'){ $sign = '+'; $string = substr($string,1); } //判斷去除符號後的字串首位是否是數字 if (is_numeric(intval($string[0]))){ $integer = $sign.intval($string); //反轉後範圍判斷 if (($integer < $down_limt) || ($integer > $up_limit)){ echo '0'; }else{ echo $integer; } }else{ echo 0; } } StringtoInteger($string);