-1

2 つのスクリプトがあります。最初のスクリプトはソケットを介してデータを受信し、それを処理します。2 番目のスクリプトは、最初のスクリプトによって呼び出される関数を保持します。この関数は、たまたま最初のスクリプトで作成された変数を利用しています。

最初のスクリプトから関数を呼び出すときは、次のように実行する必要があります。

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName()

またはこのように:

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName($variable)

1 つは「グローバル」宣言であることは理解していますが、その意味を理解するのに苦労しています。そしてもちろん、それが原因で何かが機能しないのではないかと考えています。

どうもありがとう。

4

2 に答える 2

2

関数の基本についてよく読む必要があります。

functionName();

関数を要求していて、情報を渡していないことを意味します。

functionName($someVar);

$someVar変数の情報を送信していることを意味します。

于 2012-08-03T12:45:48.433 に答える
0

上記を拡張する:

違いは、単に渡された引数です。関数内の宣言から変数にアクセスできますglobalが、個人的には悪い考えだと思います。

関数との間で受け渡される引数と型を常に知りたいと思うでしょう。少なくとも、関数定義で引数を定義したくないが、それでも関数呼び出しへの引数としてそれらを渡す場合は、次のようなものを介して渡された引数を取得できますfunc_get_args()

// definition
function funca(Array $arr){
    // This tells funca to only allow Arrays as the arg type
}

// definition
function funb(){
    $args = func_get_args();
    // You dont define args, but can still pull them.
}
//call
funcb('a', 'b');
于 2012-08-03T13:41:39.260 に答える