function reverse($num) { //取数32位带符号的最大最小值 $max = pow(2,31); $min = pow(-2,31); //溢出返回0 if($num < $min || $num > $max){ return 0; } //计算数字长度&当值小于0时,长度减1&当值小于0时,新字符串首尾为负号 $len = strlen($num); $newStr = ''; if($num < 0){ $len -= 1; $newStr = '-'; } //将值绝对化并转为字符串 $num = (string)abs($num); //翻转字符串 for($i = $len-1;$i >= 0;$i--){ $newStr .= $num[$i]; } return (int)$newStr; } echo reverse(-120);