
include を使って、次のふたつの処理を実行しようとしています。
include("a.php");
include("b.php");
$result_a=fun_a(1);
$result_b=fun_b(2);
さて、このとき、fun_a内で処理を中断した場合も、fun_bの処理も行わなければなりません。
fun_a内でexitを使用すると、それ以降のプログラムを実行しなくなったので、returnを使い
ました。すると、fun_a内で処理を中断しても、fun_bの処理が行えました。
結果的に、よかったのですが、こうしたincludeしたプログラム内で、処理を中断した場合も、
以降のプログラムを引き続き処理する場合には、returnを使うものなのでしょうか?
No.1ベストアンサー
- 回答日時:
処理全体を終了(exit)させるのはメインルーチンの仕事ですので、関数内でその関数の処理を終了させる場合はreturnで呼出元に処理を戻します。
関数内で何らかのエラーが発生して処理の実行が困難になった場合は、呼出元にエラーを知らせる戻り値を返してメインルーチン内で戻り値の判断を行って処理を終了させるか、関数内でExceptionを投げてメインルーチン内のエラー処理に事後の処理を委ねます。
おっしゃるとおり、exitは、メインルーチン内で使うものですね。関数内では、戻り値を書き込み、メインルーチン内で判断することにしますね。
No.3
- 回答日時:
関数はreturnで戻るのが基本です。
#exitで終わるくらいのケースなら、dieで止める方が多いと思います。
処理した結果どうだったか(ちゃんと処理できたかどうか)も含めて呼び出し元に返り値で戻します。returnを省略したらnullを返しますが、「何かあって中断した」のであれば、return false; などとして、あとで(必要があれば)見分けられるようにしておくべきです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# win10で、正確な待ち時間の作り方 6 2023/02/14 18:28
- CPU・メモリ・マザーボード PコアとEコアの使い分け 3 2023/07/30 22:09
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 英語 Is to play soccer fun for you? は、正しい英文ですか? 1 2023/05/08 12:37
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- 大学院 修士論文の過ちを報告した際 2 2023/03/30 20:55
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
php.iniの見方
-
phpでのメール送信
-
header('Content-type: ima
-
画像のファイルアップロード
-
PHP言語について
-
foreachで取り出したデータをメ...
-
数千人分のユーザIDを各メール...
-
ファイル一覧を表示しその画面...
-
zampp PHPでPOSTの変数が返っ...
-
MovableTypeでカテゴリー、月別...
-
アクセスログの様なCGI
-
phpとpostgresを利用した検索シ...
-
phpにcssを適応させたい...
-
php-5.2.5がインストールできま...
-
Wordpressへのリモート投稿につ...
-
テキストエリアの内容がメール...
-
sendmailでエラーがでます
-
現在位置より2つ上のディレク...
-
画像の削除をボタンを押したら実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
phpの処理中に画面表示ををする...
-
インスタンス化に伴うメモリ消...
-
PHP内、ボタン押下と同時にリロ...
-
PHPで偶数と奇数を判断するには
-
PHPが処理を途中でやめる。原因...
-
Cronで同じ処理を複数同時に実...
-
PHPExcel処理速度が遅い
-
VBAからPHPを実行(キック)したい
-
if()にかんして
-
関数の前にアットマークが付く場合
-
オブジェクトの中の関数を共通...
-
◆バックエンド処理の終了を知り...
-
文字列の10+10を20と表示したい
-
タイムアウト処理?となる
-
タイムアウト時に次の処理へ移...
-
PHPでのgoto文の実現方法
-
Smartyにて、文字検索
-
入れ子になっているHTMLタグも...
-
大量チェックボックスの実装方...
おすすめ情報