0

「func1」で JSON データ (「func2」によって送信された) を取得するにはどうすればよいですか?

func1.php

include 'func2.php';

$data = run_method();

func2.php

function run_method() {
//...
  echo json_encode(array('f1' => $val1, 'f2' => $val2));
  die();
}
4

4 に答える 4

2

func2.php

function run_method() {
 //...
  $data = json_encode(array('f1' => $val1, 'f2' => $val2));
   echo $data
   retrun $data
 }

機能1

$data = run method()
于 2012-09-04T11:50:44.983 に答える
1

次のようなデータechoにする必要はありません。return

function run_method() {
//...
  return json_encode(array('f1' => $val1, 'f2' => $val2));
}

更新:

後で$data使用するものを確認するにはvar_dump($data);$data = run_method();

json_encodedfunc1.phpデータをデコードして戻す (シリアル化を解除する) 必要があります。

したがって、ここでの最善の方法は、次のjson_encodeような単純な配列を使用して返さないことです。

return array('f1' => $val1, 'f2' => $val2);

あなたの場合、 use にアクセス$val1するには、 use$data['f1']にアクセス$val2します$data['f2']

于 2012-09-04T11:49:23.727 に答える
1

echoWeb サーバーを介してクライアントにデータを送信します。

関数からデータを受け取るには、次のようにしますreturn

function run_method() {
    // Some code where you initialize $val1 and $val2
    return json_encode(array('f1' => $val1, 'f2' => $val2));
}

通常、それらを操作するために JSON でエンコードする必要はないことに注意してください。JSON は、サーバー側アプリケーションが何らかのデータを生成し、それをクライアントに送信する必要がある場合に使用されます。

値だけが必要な場合は、次のようにする必要があり$val1ます$val2

function run_method() {
    // Some code where you initialize $val1 and $val2
    return array('f1' => $val1, 'f2' => $val2);
}

では、通常の配列としてfunc1.phpアクセスできます。$data

于 2012-09-04T11:49:59.233 に答える
0

やってみよう

 return json_encode(array('f1' => $val1, 'f2' => $val2));

エコーの代わりに。

于 2012-09-04T11:49:53.133 に答える