私は多くのソリューションを試しましたが、機能しません。私はPHPでjson配列を繰り返したいと思う。PHPでJSON配列を反復処理するには?
{
"0":
{
"problem_id":"13",
"onset_date":"2011-02-07",
"status":"Active",
"operator":"",
"problem_name":"Allergic Conjunctivitis (372.05)"
},
"1":
{
"problem_id":"132512",
"onset_date":"2017-06-12",
"status":"Active",
"operator":"",
"problem_name":"diabetes macular edema - 10"
},
"pbids":
{
"0":"13",
"1":"132512"
}
}
次のサーバーにJSON文字列を送信するためのコードがされています:私のJSON文字列を次に示し
var finalArrayString = JSON.stringify(convertFormDataToJSONArray());
try{
alert(JSON.parse(finalArrayString));
alert(true);
}catch(e){
alert(false);
}
alert(finalArrayString);
$.ajax({
url: "index.php",
type: 'POST',
data: {problems: finalArrayString},
beforeSend: function() {},
success: function(returnedData) {
alert(returnedData);
},
error: function(jqXhr, textStatus, errorThrown){
alert(errorThrown);
}
});
に続いて、私のPHPコードです:
if ($_POST['problems'] && $_POST['problems'] != "") {
$problems = $_POST['problems'];
foreach ($problems as $key) {
echo $key;
}
}
しかし、それは何も出力しません。また、json文字列がJSON.parse()
を使って有効かどうかをチェックしていますが、trueを返します。
'var_dump($ problems)'の出力は何ですか? –
'$ problems = json_decode($ _ POST ['problems']、true);' – Steve
あなたの「配列」は私の配列のようには見えません。そこに角括弧はありません。 http://www.json.org/ –