Как в готовом коде убрать первую цифру ноль у некоторых чисел?

Допустим, есть массив с числами:

$arr = [2, 6, 08, 1];

Из-за того, что у некоторых чисел первой цифрой идет 0, выходит ошибка, так как php воспринимает их в качестве восьмиричных чисел. Как избавить такие числа от первого нуля? Чтобы 08 превратилось в 8. При этом сделать это надо в момент объявления массива, так как любые циклы, написанные после массива, уже не обрабатываются, то есть ошибка выходит уже на этапе объявления массива.


Ответы (1 шт):

Автор решения: Akina

Числовой литерал, начинающийся нулём, в PHP есть число в восьмеричной системе счисления. Если такое число содержит символ цифры 8 или 9 (или нецифровой символ), то для восьмеричной системы это некорректный литерал, что и вызывает указанную ошибку. Данная ошибка является синтаксической и не может быть исправлена программно, ибо выявляется ещё до начала выполнения кода.

Исправляйте текст скрипта. Другого варианта - нет.

→ Ссылка