PHP's or
работы как C ||
(который случайно также поддерживается PHP - or
просто более хорошие взгляды и имеет другой приоритет оператора - см. эта страница ).
Это известно как короткое замыкание оператор, потому что это пропустит любые оценки, после того как это имеет достаточно информации для решения окончательного значения.
В Вашем примере, если mysql_connect()
возвраты ПРАВДА, то PHP уже знает, что целый оператор оценит к TRUE независимо от того, что die()
не оценен evalutes к, и следовательно die()
.
, Если mysql_connect()
возвращает FALSE, PHP не знает, оценит ли целый оператор к TRUE ИЛИ FALSE, таким образом, он пойдет и пробует к evalute die()
- окончание сценария в процессе.
Это - просто хороший прием, который использует в своих интересах путь or
работы.
Вы можете определить его как строку, а затем проанализировать ее:
myBin = Convert.ToInt32("1010101010", 2)
Расширение ответа codymanix ... Вы можете обернуть это в Extension on Strings и добавить проверку типов ...
что-то вроде:
<Extension> Public Function ParseBinary(target As String) As Integer
If Not RegEx.IsMatch(target, "^[01]+$") Then Throw New Exception("Invalid binary characters.")
Return Convert.ToInt32(target, 2)
End Function
Это позволяет тогда, где бы у вас есть строка двоичного значения, скажем "100101100101", вы можете сделать:
Dim val As Integer = "100101100101".ParseBinary()
Обратите внимание, что для использования
Вы этого не сделаете.
VB.NET поддерживает десятичное (без префикса), восьмеричное (с префиксом & O
) и шестнадцатеричное (с & H
) целочисленные литералы напрямую.