这是一个简单的问题
我认为必须有一种更简单(=代码更少)的方法来完成以下片段:
if (link_validate_url($items[0]['url_value'])) {
} else {
form_set_error('', 'Not a valid URL.');
}
只需使用!
运算符将返回值取反:
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.');
试试这个:
if (! link_validate_url($items[0]['url_value'])) {
form_set_error('', 'Not a valid URL.');
}
此外,你可能想读一下这篇文章。
您可以(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+
有关此运算符的注释可以在此处找到
if (!link_validate_url($items[0]['url_value'])) {
form_set_error('', 'Not a valid URL.');
}
或者你可以(ab)使用通用编译器优化,如果第一部分是真正的,则or的第二部分永远不会执行
link_validate_url($items[0]['url_value']) or form_set_error('', 'Not a valid URL.');