例えば、そのようなphp sub関数がmain関数を返すことはできますか?
function main(){
function sub(){
$a = false;
if(!$a) return main function;
}
}
何かが可能であるか、または同様のソリューションがありますか?
例えば、そのようなphp sub関数がmain関数を返すことはできますか?
function main(){
function sub(){
$a = false;
if(!$a) return main function;
}
}
何かが可能であるか、または同様のソリューションがありますか?
どうしてですか?しかし出口がなければならない。
function main($exit = false){
echo 'begin main' . '<br>';
if ($exit) {
echo 'exit main' . '<br>';
return;
}
function sub(){
echo 'sub' . '<br>';
return main(true);
}
echo 'end main' . '<br>';
}
我々はsub()
を呼び出す場合、我々は致命的なエラーが発生します - main()
が呼び出されたときsub()
にのみ定義されます。
しかし、我々は最初のmain()
を呼び出し、その後sub()
場合、サブは動作します:
main();
// begin main
// end main
sub();
// sub
// begin main
// exit main
PHPは、 "サブ機能" を持っていません。ここにあるのは2つのグローバル関数ですが、sub()
は、main()
が呼び出されたときにのみ定義されます。その後、それらは完全に独立した関数です。
メイン()あなたはのtry-catch建設への呼び出しをラップし、例外と内部機能を終了することができるように、どこかから呼び出さなければなりません:あなたはの終わりにフラグを追加することができ
try{
main();
}catch(SubException $e){
...
}
function main(){
function sub(){
$a = false;
if(!$a) throw new SubException(...);
}
}
サブ関数を呼び出すと、その値に応じて、サブ関数を終了するときにメイン関数で何らかの処理を行います – tektiv
関数** result **またはfunction ** definition **を返しますか?これはXYの問題です。このメイン/サブ関数アプローチで解決しようとしている問題を説明する必要があります。 – Mjh