function compare(propName) {
return function(a,b) {
if (a[propName] < b[propName])
return -1;
if (a[propName] > b[propName])
return 1;
return 0;
};
}
objs.sort(compare("last_nom"));
Если первый оператор возвращается true
, то весь оператор должен быть true
поэтому, вторая часть никогда не выполняется.
, Например:
$x = 5;
true or $x++;
echo $x; // 5
false or $x++;
echo $x; // 6
Поэтому, если Ваш запрос неудачен, он оценит die()
оператор и закончит сценарий.
Это работает, как другие описали.
В PHP, не используйте, "умирают", поскольку он НЕ повышает исключение (как он делает в Perl). Вместо этого выдайте исключение правильно нормальным способом.
умирают, не может быть пойман в PHP и не регистрируется - вместо этого он печатает сообщение неизящно и сразу выходит из сценария, не говоря никому, кого что-либо или давая Вам любую возможность записать событие, повторяет и т.д.
PHP's or
работы как C ||
(который случайно также поддерживается PHP - or
просто более хорошие взгляды и имеет другой приоритет оператора - см. эта страница ).
Это известно как короткое замыкание оператор, потому что это пропустит любые оценки, после того как это имеет достаточно информации для решения окончательного значения.
В Вашем примере, если mysql_connect()
возвраты ПРАВДА, то PHP уже знает, что целый оператор оценит к TRUE независимо от того, что die()
не оценен evalutes к, и следовательно die()
.
, Если mysql_connect()
возвращает FALSE, PHP не знает, оценит ли целый оператор к TRUE ИЛИ FALSE, таким образом, он пойдет и пробует к evalute die()
- окончание сценария в процессе.
Это - просто хороший прием, который использует в своих интересах путь or
работы.
$con=mysql_connect($host, $user, $pass)
if(!$con)
{
die("could not connect");
}
else
{
echo "Connected";
}