※ ChatGPTを利用し、要約された質問です(原文:関数から関数を呼び出したときのリターン処理について)
関数から関数を呼び出したときのリターン処理について
このQ&Aのポイント
関数から関数を呼び出す際に、リターン処理で問題が発生しています。
呼び出し元の関数がリターンされ、処理が停止してしまっています。
chk()関数をTRUE、FALSEの判定に使いたい場合、どのようにすれば良いでしょうか?
関数から関数を呼び出したときのリターン処理について
宜しくお願いいたします。
ユーザー定義関数からユーザ定義関数を呼び出す必要があり
以下の様にしてみたところ
function chk($value) {
if ($value>0) {
return TRUE;
}
return FALSE;
}
function test(){
$a = 0;
$b = -1;
$c = 2;
$txt = '';
if (chk($a)) {
$txt .= 'aはhoge<br>';
}
if (chk($b)) {
$txt .= 'dはhoge<br>';
}
if (chk($c)) {
$txt .= 'cはhoge<br>';
}
return $txt;
}
最初の chk($a) で処理が終わってしまいます。
この場合 chk() の return が test() をも止めてしまっているのでしょうか?
return で調べて見ると 呼び出し元のスクリプトに戻る というような解説だったので
test() に戻って処理の続きをしてくれる と思ったのですがうまくいきません。
これを return $txt; まで処理させるにはどのようにしたらよいでしょうか?
できれば chk() をTRUE、FALSEの判定に使いたいと思います。
何卒ご教授のほどよろしくおねがいします。
お礼
>何も表示されないのは戻り値を表示してないだけかと。 ご指摘ありがとうございます。 実際のプログラムでうっかりミスをやってました。 こんなアホな質問に答えていただき本当にありがとうございました。