現在の言語: 日本語

戻る

入れ子になった配列データ
ajax

ajaxを使用してhtml側からサーバーにリクエストします。
サーバーではphpを使用して判定した結果をhtml側に送信します。
このサンプルではプリフライトリクエストを使用した配列の例となります。

[サンプル]

copy
[test3.php]

header('Content-Type: application/json');


$json_data = file_get_contents("php://input");
$data = json_decode($json_data, true); 


if (!isset($data['name']) || !is_array($data['kind'])) {
    echo json_encode(['status' => 'error', 'message' => 'データが不足しているか、形式が不正です。']);
    exit;
}


error_log('受信データ: ' . print_r($data, true));


$name = $data['name'];
$kind = $data['kind']; 
$color = $data['details']['color']; 
$sound = $data['details']['sound']; 
$ary1=[];
$ary2=[];

for($i=0; $i < count($sound); ++$i)
{
    $ary1[]=$color[$i]."色";
}

for($i=0; $i < count($sound); ++$i)
{
    $ary2[]=$sound[$i].$sound[$i];
}

$data["name"]="動物の種類";
$data["kind"]=array("ねこちゃん,わんちゃん");
$data['details']['color']=$ary1;
$data['details']['sound']=$ary2;


echo json_encode([
    'status' => 'success',
    'message' => 'データを受信しました。',
    'receivedData' => $data 
]);
copy
[test3.php]

header(‘Content-Type: application/json’);


$json_data = file_get_contents(“php:
$data = json_decode($json_data, true); 


if (!isset($data[‘name’]) || !is_array($data[‘kind’])) {
    echo json_encode([‘status’ => ‘error’, ‘message’ => ‘Data is missing or invalid.’]);
    exit;
}


error_log(‘Received data: ’ . print_r($data, true));


$name = $data[‘name’];
$kind = $data[‘kind’]; 
$color = $data[‘details’][‘color’]; 
$sound = $data[‘details’][‘sound’]; 
$ary1=[];
$ary2=[];

for($i=0; $i < count($sound); ++$i)
{
    $ary1[]=$color[$i].“ color”;
}

for($i=0; $i < count($sound); ++$i)
{
    $ary2[]=$sound[$i].$sound[$i];
}

$data[“name”]=“Animal Type”;
$data[“kind”]=array(“kitty,puppy”);
$data[‘details’][‘color’]=$ary1;
$data[‘details’][‘sound’]=$ary2;


echo json_encode([
    ‘status’ => ‘success’,
    ‘message’ => ‘Data received.’,
    ‘receivedData’ => $data 
]);

$json_data = file_get_contents("php://input");
POSTされたJSONデータを取得します。

if (!isset($data['name']) || !is_array($data['kind'])) {
データを検証してデータが不足しているか、形式が不正の場合はエラーを返します。

$name = $data['name'];
$kind = $data['kind']; $color = $data['details']['color']; $sound = $data['details']['sound'];
デコードされた連想配列を変数に置き換えています。

for($i=0; $i < count($sound); ++$i)
{
$ary1[]=$color[$i]."色";
}
元の値を変更した結果を配列として再格納します。

'receivedData' => $data
変更した結果のデータをhtmlに返します。




戻る

著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームページおよびアプリ等を利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。