одна строка if-else - PullRequest
       2

одна строка if-else

1 голос
/ 26 января 2012

Простой вопрос для вас, ребята.
Я предполагаю, что должен быть более простой (= меньше кода) способ сделать следующий фрагмент:

if (link_validate_url($items[0]['url_value'])) {
} else {
    form_set_error('', 'Not a valid URL.');
}

Ответы [ 4 ]

5 голосов
/ 26 января 2012

Просто отрицайте возвращаемое значение, используя оператор !:

if (!link_validate_url($items[0]['url_value'])) {
    form_set_error('', 'Not a valid URL.');
}

Конечно, вы можете сократить его еще больше, но IMO, который уменьшает читабельность:

if (!link_validate_url($items[0]['url_value']))
    form_set_error('', 'Not a valid URL.');

четный

if (!link_validate_url($items[0]['url_value'])) form_set_error('', 'Not a valid URL.');
1 голос
/ 26 января 2012

Вы можете (ab) использовать троичный оператор.

Обычно это condition ? action if true : action if false; Но вы можете оставить действия пустыми.

Это оставляет вас с:

link_validate_url($items[0]['url_value'] ?: form_set_error('', 'Not a valid URL.');

Edit:

Это PHP 5.3 +

Примечания к этому оператору можно найти здесь

1 голос
/ 26 января 2012

Попробуйте это:

if (! link_validate_url($items[0]['url_value'])) {
    form_set_error('', 'Not a valid URL.');
}

Кроме того, вы можете прочитать это .

0 голосов
/ 26 января 2012
if (!link_validate_url($items[0]['url_value'])) {
   form_set_error('', 'Not a valid URL.');
}

или вы можете (ab) использовать обычную оптимизацию компилятора, что вторая часть или никогда не выполняется, если первая часть истинна

link_validate_url($items[0]['url_value']) or form_set_error('', 'Not a valid URL.');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...