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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GDへ値を渡す方法は?
-
PHPで偶数と奇数を判断するには
-
携帯キャリア判断
-
条件分岐 if(elseif) switchの...
-
CFileDialogの最初のディレクト...
-
onedrive にexcelファイルをア...
-
データ送信をボタンを押さずに...
-
10MB以内のJPG画像
-
PHPパーミッションについて
-
youtubeに音声のみのmp4ファイ...
-
.phpファイルが、表示されない
-
画像リストを作りたい
-
phpのPDOの導入
-
PHPから別なPHPへ移動(?)する方法
-
PHPでメールを受信するには?
-
セッションのクッキー有効期間...
-
SEO 動的・静的ページの説明に...
-
【PHP】フレームワークを習得す...
-
違法アップロードについて
-
ssiをhtmlで動作させる為、htac...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
PHPが処理を途中でやめる。原因...
-
PHPExcel処理速度が遅い
-
phpの処理中に画面表示ををする...
-
インスタンス化に伴うメモリ消...
-
web画面から呼び出したphp処理...
-
VBAからPHPを実行(キック)したい
-
Cronで同じ処理を複数同時に実...
-
PHPで偶数と奇数を判断するには
-
プログラム内で処理中断後も継...
-
PHP postgres でロールバック...
-
Smartyにて、文字検索
-
関数の前にアットマークが付く場合
-
入れ子になっているHTMLタグも...
-
文字列の10+10を20と表示したい
-
チェックボックスをビット演算...
-
外部ドメインからのPOST送信を...
-
DBへの書き込みとメール送信を...
-
処理時間により、その後の処理...
-
タイムアウト処理?となる
おすすめ情報