<?php
function magic_inc($value, $direction) {
if (!is_numeric($value) || $value == 0) {
return 0;
}
$number = (float) $value;
$sign = $number < 0 ? -1 : 1;
$abs = abs($number);
$exp = floor(log10($abs));
$unit = pow(10, $exp);
$digit = floor($abs / $unit);
if ($direction === 'inc') {
$digit = $sign > 0 ? $digit + 1 : $digit - 1;
} else {
$digit = $sign > 0 ? $digit - 1 : $digit + 1;
}
if ($digit === 10) {
$result = pow(10, $exp + 1);
} elseif ($digit === 0) {
$result = 9 * pow(10, $exp - 1);
} else {
$result = $digit * $unit;
}
return $sign * $result;
}
function magic_inc(value, direction) {
if (isNaN(value) || value == 0) {
return 0;
}
let number = Number(value);
let sign = number < 0 ? -1 : 1;
let abs = Math.abs(number);
let exp = Math.floor(Math.log10(abs));
let unit = Math.pow(10, exp);
let digit = Math.floor(abs / unit);
if (direction === 'inc') {
digit = sign > 0 ? digit + 1 : digit - 1;
} else {
digit = sign > 0 ? digit - 1 : digit + 1;
}
let result;
if (digit === 10) {
result = Math.pow(10, exp + 1);
} else if (digit === 0) {
result = 9 * Math.pow(10, exp - 1);
} else {
result = digit * unit;
}
return sign * result;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: