Я работал с кодом, который анализирует crontab.Как предотвратить PHP от выполнения восьмеричной математики в условных выражениях? (почему 08 === 0)
https://stackoverflow.com/a/5727346/3774582
Я нашел, что это прекрасно работает, но я обнаружил, что если я сделал хрон как
0 * * * *
Она будет работать на 0 минут, на 8-й минуте, и 9-й минуте. Я сломал каждую строку кода.
https://gist.github.com/goosehub/7deff7928be04ec99b4292be10b4b7b0
я обнаружил, что я получал это условие для величины 0, если текущая минута была 8.
08 === 0
Я проверил это с PHP
if (08 === 0) {
echo 'marco';
}
После запуска что, я увидел marco
на выходе. Похоже, PHP обрабатывает 08
как восьмеричную. Потому что в восьмеричном после 07
010
, 08
и 09
оценивается как 00
.
Как я могу заставить десятичное сравнение в этом условном?
Где находится '08'? – Barmar
Вместо того, чтобы использовать 'date()' для получения полей текущего времени, используйте 'getdate()'. Это возвращает ассоциативный массив с компонентами времени в виде чисел, вам не нужно разбирать строку. – Barmar