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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
ページの一部だけリロード
-
PHPで文字列(日本語)の比較
-
phpの処理中に画面表示ををする...
-
プリペアド・ステートメントの...
-
処理の内容を別ページへ出力したい
-
onedrive にexcelファイルをア...
-
CFileDialogの最初のディレクト...
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
FTPコマンドでディレクトリごと...
-
.phpと.incファイルの違いはな...
-
エンコーディングについて
-
「クラス関数」「メンバ関数」...
-
Subversionのリポジトリの削除
-
さくらレンタルサーバーでPHPが...
-
Subversionで、ファイルをリネ...
-
PHPからMSSQLへの接続結果の文...
-
SQLiteに画像を格納したい
-
rmdirでフォルダが消せません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
PHPが処理を途中でやめる。原因...
-
Cronで同じ処理を複数同時に実...
-
3の倍数の和
-
phpの処理中に画面表示ををする...
-
インスタンス化に伴うメモリ消...
-
関数の前についている「@」の意...
-
PHPで文字列(日本語)の比較
-
PHPのSmartyについて質問です。...
-
includeしたファイルに変数を持...
-
submitボタンを自動クリック
-
プログラム内で処理中断後も継...
-
web画面から呼び出したphp処理...
-
Smartyにて、文字検索
-
チェックボックスをビット演算...
-
タイムアウト時に次の処理へ移...
-
csvファイルの読込みとソート
-
VBAからPHPを実行(キック)したい
-
PHPの複数関数非同期実行方法を...
-
Linuxサーバに移行とphpexcel出力
おすすめ情報