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

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

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で質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qfunctionから別のfunctionを実行したい

よろしくお願いします

今JavaScriptで
function a(){
処理A
}
function b(){
処理B
}
function c(){
処理C
処理Aをして終わり
}
と言うことをしたいのですが

function a と同じコードをcに書くのが大変なので
function cからaを呼び出して実行することができないかと考えています

検索も色々してみたのですが
これと言った答えがなかったので質問しました
よろしくお願いします。

Aベストアンサー

他の箇所から、function a()をコールするときと同様に、function c()内でfunction a()をコールすることができます。

function c()
{
処理C
a();
}

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Q