Когда вы конвертируете с помощью (string) $number
, вы всегда получаете строку в десятичной основе, не имеет значения, записываете ли вы число в восьмеричном или десятичном режиме, int - это int, а само по себе не имеет основания , Это его строковое представление, которое должно интерпретироваться с помощью базы.
Вы можете получить восьмеричное представление числа следующим образом:
$str = base_convert((string) 00032432, 10, 8);
или указав число в десятичном числе:
$str = base_convert((string) 13594, 10, 8);
или, более кратко, но менее четко:
$str = base_convert(00032432, 10, 8);
$str = base_convert(13594, 10, 8);
В последнем случае преобразование строки выполняется неявно. В примерах все получается как результат $ str = "32432".
base_convert преобразует строковое представление числа из базы в другое
Если вам нужны также нули в вашей строке, вы можете добавить их с помощью простой математики.
Надеюсь, это поможет вам.