「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();
}
func2.php
function run_method() {
//...
$data = json_encode(array('f1' => $val1, 'f2' => $val2));
echo $data
retrun $data
}
機能1
$data = run method()
次のようなデータ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']
。
echo
Web サーバーを介してクライアントにデータを送信します。
関数からデータを受け取るには、次のようにします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
やってみよう
return json_encode(array('f1' => $val1, 'f2' => $val2));
エコーの代わりに。