0

関数外の関数内にある変数の値を取得するのに問題があります...

例:

function myfunction() {
    $name = 'myname';
    echo $name;
}

それから私はそれを呼びます...

if (something) {
    myfunction();
}

これは echoing$nameですが、入力値内でエコーしようとする$nameと表示されません:

<input type="text" name="name" value="<?php echo $name ?>"

この変数値にアクセスするにはどうすればよいですか?

4

5 に答える 5

2

変数は、$name明示的にグローバルとして定義するまでローカルです。

function myfunction() {
    global $name;
    $name = 'myname';
    echo $name;
}

しかし、これはここでのグローバルの適切な使用とは思えません。値を返して割り当てるつもりでしたか? (それとも一度だけ使う?)

function myfunction() {
    $name = 'myname';
    return $name;
}

...
$name = myfunction();
于 2012-10-17T14:03:16.030 に答える
0

その範囲の問題..

http://php.net/manual/en/language.variables.scope.php

閉ざされた部屋にいるときと同じように、私たちはあなたが何をしているのかを見ることができませんが、ドアを開けたり、ビデオカメラを入れたりすると、人々は限られたものを見たり、限られたものを聞いたりすることができます..コンピュータでも動作します

于 2012-10-17T14:04:12.503 に答える
0

scopeに関する php ページを読む必要があります。

あなたが望むことをするために、2つの解決策があります:

  1. グローバル$nameにする、または
  2. return関数からの変数
于 2012-10-17T14:04:21.020 に答える
0

Read abour variable scope 変数にはローカル スコープがあります。グローバル化する必要があります。ただし、テンプレート エンジンを使用するか、レジストリを実装することをお勧めします。

于 2012-10-17T14:03:38.383 に答える
0

$name変数はその関数内でローカルです。したがって、その関数内でのみアクセスできます。どこからでもアクセスできるようにするには、次のようにします。

  • 関数の外側と関数型の内側で宣言します。global $name;
  • 外部で宣言しますが、参照によって関数引数として彼女を渡します。

    function myFunc(&$name) { $name = "text"; }

于 2012-10-17T14:06:52.547 に答える