Это, вероятно, поможет вам понять типы данных PHP и то, как они влияют, когда вы выполняете операции с переменными различных типов. Вы говорите, что у вас есть «переменная в PHP, скажем, 0001», но какого типа эта переменная? Вероятно, строка «0001», поскольку целое число не может иметь это значение (это просто 1). Поэтому, когда вы делаете это:
echo ("0001" + 1);
... оператор +
говорит: «Хм, это строка и целое число. Я не знаю, как добавить строку и целое число. Но я действительно знаю, как преобразовать строку в INT, и затем добавьте два целых числа вместе, так что позвольте мне сделать это ", а затем он преобразует" 0001 "в 1. Почему? Поскольку правила PHP для преобразования строки в целое число говорят, что любое число ведущих нулей в строке отбрасывается. Это означает, что строка «0001» становится 1.
Тогда +
говорит: «Эй, я знаю, как добавить 1 и 1. Это 2!» и результат этого утверждения составляет 2.