0

関数が呼び出されたときにスクリプトに変数値を提供して、関数が呼び出されたことをページに通知するように、関数に変数を設定しようとしています。これはメッセージを表示するだけで機能します:

function MyMessage($display_message)
{
    echo $display_message;
}

それはうまくいくので、私が呼び出すとき:

MyMessage("Updated Database!");

それはあまりにもうまくいきます。問題は、関数が呼び出される前にヘッダーがページの下部にあるため、一部のページではヘッダー ファイルの前にこのメッセージが表示されることです。次のようにすることは可能ですか?

function MyMessage($display_message)
{

    $function_ran = 1;

    echo $display_message;

    return $function_ran;

}

次に、スクリプトで表示する場合

if ( $function_ran != 1 )
{
    include("header.php");
}

そうすれば、関数が実行されていない場合にのみヘッダーが表示されます。問題は、関数が呼び出されたときに $function_ran 値が返されないことです。これどうやってするの?

4

6 に答える 6

2

グローバルを使用したくない場合は、関数の結果を保存する必要があります。

$function_ran = MyMessage("Updated Database!");
if ( $function_ran != 1 )
{
  include("header.php");
}
于 2013-10-24T00:21:09.917 に答える
1

グローバル$function_ranを作成し、関数でグローバル バージョンを使用していることを確認します。

$function_ran = 0;

# stuff

function MyMessage($display_message)
{
    global $function_ran;
    $function_ran = 1;
    echo $display_message;
}
于 2013-10-24T00:19:39.123 に答える
1

関数の戻り値を本当に使用したい場合は、次のような変数に戻り値を割り当てる必要があります。

$function_ran = MyMessage("Updated Database!");

もちろん、$function_ranグローバルにすることは可能ですが、リターンを使用する必要はありません。

私は間違いなく戻り値の代入を選びます。その方が透過的で、プログラミング スタイルが優れているからです。

それが役立つことを願っています

于 2013-10-24T00:22:47.563 に答える