電子書籍の厳選無料作品が豊富!

プログラム初心者です

if文の処理速度が速いのは一般的に考えてどちらでしょうか?

別々にif文で処理する方法

try {

if(!isset($_REQUEST['id'])&& !is_string($_REQUEST['id'])){
throw new Exception('error');
}

if(!isset($_COOKIE['date'])&& !is_string($_COOKIE['date'])){
throw new Exception('error');
}

} catch (Exception $e) {
$msg = $e->getMessage();
}


一緒に処理する方法


try {

if(!isset($_REQUEST['id']) && !is_string($_REQUEST['id']) && !isset($_COOKIE['date']) && !is_string($_COOKIE['date'])){
throw new Exception('error');
}



} catch (Exception $e) {
$msg = $e->getMessage();
}


よろしくお願いします

A 回答 (2件)

>if(!isset($_REQUEST['id'])&& !is_string($_REQUEST['id'])){



これって、(isset($_REQUEST['id']) && is_string($_REQUEST['id'])) の否定でしょうか?もしそうなら(!isset($_REQUEST['id']) || !is_string($_REQUEST['id'])) と書かないといけませんが・・・


なので合わせて書くなら


if(!isset($_REQUEST['id']) || !is_string($_REQUEST['id']) || !isset($_COOKIE['date']) || !is_string($_COOKIE['date'])) {

ではないんですかね。





なお、実行速度は大差ないです。基本的には(該当しないのがデフォなので)全部チェックするのですから)。

個人的には、見易さ・パッと見たときの意味の掴みやすさから

if (!isset($_REQUEST['id']) || !is_string($_REQUEST['id'])) { throw new Exception('error'); }
if (!isset($_COOKIE['date']) || !is_string($_COOKIE['date'])) { throw new Exception('error'); }

が好みです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
すいません||でした
見易さ優先で行こうと思います

お礼日時:2013/12/19 16:28

追記です。



基本的に「処理速度」よりも、ソースの読みやすさ(内容を把握しやすい記述)を心がけてください。明らかに無駄な処理とかボトルネックになる処理でもない限り、処理速度は誤差の範囲でしかありません。逆に読みにくくてバグを生みやすいソースは決定的にアウトです。
    • good
    • 0
この回答へのお礼

見易さのほうが大事でした

お礼日時:2013/12/19 16:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!