Так что я только недавно искал несколько примеров проверки метки времени Unix. Один фрагмент кода, который продолжал появляться снова, был таким:
function isValidTimeStamp($strTimestamp) {
return ((string) (int) $strTimestamp === $strTimestamp)
&& ($strTimestamp <= PHP_INT_MAX)
&& ($strTimestamp >= ~PHP_INT_MAX);
}
Теперь я искал стенограмму возврата, если я думаю, что это могут быть заявления, но мне не повезло. Может кто-нибудь объяснить мне, как эта функция решает, что возвращать и как. Спасибо
Результат логических операций (например, &&, || or ==) является логическим значением, просто результатом числовых операций (например, + и *) является число. Так точно, как return 2 + 3
даст 5, return true && false
вернул бы ложь. Теперь операции, конечно, могут быть вложенными. Например, return (2 + 3) * (3 + 3)
все еще является допустимым выражением и дает 30. Таким же образом, return ($a === $b) && ($a => $c)
даст логическое значение.
это не уникально для PHP (каждый язык, который я знаю, позволяет это). все, что здесь происходит, — это то, что условие (в данном случае серия из 3 условий) оценивается, и результат этой оценки возвращается.
Эта функция либо вернет true
или же false
в зависимости от всех условий или нет.