条件分岐に if switchがありますが、
ifパターン
==============================
if ( $a = 1)
{
処理A
}
elseif ($a = 2)
{
処理B
}
==============================
switchパターン
==============================
switch($a){
case '1':
処理A
break;
case '2':
処理B
break;
}
==============================
実際はもっと複雑ですが、どちらのほうが実行速度が速いのでしょうか。
No.1ベストアンサー
- 回答日時:
プログラムや、挙動や仕様については分かりませんが、実際やってみました。
処理内容を個別に10000回ループさせて、時間を計るだけですが。
こういう細かい事にこだわっているHPもありますので、探してみてはどうですか?
似たような処理、forとwhileでどっちが早いかとか、から始まって、アルゴリズム研究まで。
乱数使って、乱数によりけりで値を変えてますが、10000回もすれば偏りも減るでしょう。
$start = microtime();
for($i=0;$i<10000;$i++){
$ransuu = rand(0,9);
//3パターン
//ifだけの場合
//if-elseifを使う場合
//switch-caseを使う場合
}
//差を計算
$end = microtime();
$sa = $end - $start;
$sa = $sa*10000;
printf("%05d",$sa);
結果は、
3位 if文だけ。
2位 switch-case
1位 if-elseif-else
私は、if-elseifだと見にくくなるので、冒頭ではswitch-caseを使う事にしてます。なんかかっこいいし。(w
1位は3位の処理時間で、2倍違うけど、2.8GのCPUで150マイクロ秒しか違わない。
マイクロ秒=100万分の1秒らしい。
No.2
- 回答日時:
これ以外にもwhile文とdo~while文なんかもありますけど、過去にいろいろ試したことがあるのですが、PHPのバージョンや環境(OSやらZend Optimizerやら)によって全然違ってきてしまいます。
なので、速度は気にせず見やすい書き方をした方がよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- 情報処理技術者・Microsoft認定資格 (パイプライン処理)基本情報技術者の演習問題について 1 2023/03/11 17:47
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- JavaScript switch文は、if文みたいに最初の()内に式を2つ以上設定できませんか。 1 2022/07/27 14:07
- PHP PHP・Wordpress preg_replaceを条件分岐で処理させる方法が知りたい 1 2023/05/01 14:25
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
PHPが処理を途中でやめる。原因...
-
リンクのラベルを取得したい
-
入れ子になっているHTMLタグも...
-
インスタンス化に伴うメモリ消...
-
関数の前にアットマークが付く場合
-
System関数で変数を受け渡す方法
-
透過PNGが透過されない!!
-
CFileDialogの最初のディレクト...
-
【file_exists】ファイルが存在...
-
フォントの色を変えるには?
-
VB6にてメールを送信する方法
-
C# Excelファイルへの画像挿入。
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
別ファイルの変数を呼び出した...
-
3つ以上の論理積は利用可能なの...
-
onedrive にexcelファイルをア...
-
$_SESSION 有効期限をブラウザ...
-
リクエストメソッド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
インスタンス化に伴うメモリ消...
-
PHPが処理を途中でやめる。原因...
-
PHPExcel処理速度が遅い
-
phpの処理中に画面表示ををする...
-
関数の前にアットマークが付く場合
-
Cronで同じ処理を複数同時に実...
-
PHPで偶数と奇数を判断するには
-
3の倍数の和
-
includeしたファイルに変数を持...
-
タイムアウト処理?となる
-
プログラム内で処理中断後も継...
-
入れ子になっているHTMLタグも...
-
条件分岐 if(elseif) switchの...
-
Smartyにて、文字検索
-
アクセスクライアントごとにタ...
-
VBAからPHPを実行(キック)したい
-
【PHP】URLがドメイン名...
-
DBへの書き込みとメール送信を...
-
GETリクエストでURLを渡す時
おすすめ情報