2012-01-26 11 views
1

あなたには簡単な質問です。
私は次のコードを実行する(=少ないコード)もっと簡単な方法がなければならないと仮定します。あなたが短くなる可能性がもちろん1行if-else

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

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

答えて

5

は単に!演算子を使用して、戻り値を否定それもよりますが、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.'); 
+0

簡単に、本当にそれで? :)これは素晴らしいです!ありがとう! – Michiel

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

または最初の部分がtrueの場合は、(AB)は

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

これを試してみてください第二の一部またはが実行されることはありません一般的なコンパイラの最適化を使用することができます。

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

また、read thisにすることもできます。

+0

リンクと情報をありがとう! – Michiel

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