プロが教える店舗&オフィスのセキュリティ対策術

宜しくお願いいたします。

ユーザー定義関数からユーザ定義関数を呼び出す必要があり
以下の様にしてみたところ

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の判定に使いたいと思います。

何卒ご教授のほどよろしくおねがいします。

A 回答 (1件)

>最初の chk($a) で処理が終わってしまいます。



なにをもって終わっていると判断しているのでしょうか?
何も表示されないのは戻り値を表示してないだけかと。

print test();
すると「cはhoge」が表示されますね?
    • good
    • 0
この回答へのお礼

>何も表示されないのは戻り値を表示してないだけかと。

ご指摘ありがとうございます。
実際のプログラムでうっかりミスをやってました。

こんなアホな質問に答えていただき本当にありがとうございました。

お礼日時:2011/04/12 10:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!