一行if-else

时间:2012-01-26 12:28:05

标签: php if-statement

对你们这个问题很简单。
我假设必须有一个更简单(=更少代码)的方式来执行以下代码段:

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

4 个答案:

答案 0 :(得分:5)

使用!运算符简单地否定返回值:

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 :(得分:1)

试试这个:

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

此外,您可能需要read this

答案 2 :(得分:1)

你可以(ab)使用三元运算符。

通常是condition ? action if true : action if false;但您可以将操作留空。

这会让你:

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

修改

这是PHP 5.3 +

Notes on this operator can be found here

答案 3 :(得分:0)

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.');