将多维数组从javascript发送到PHP
嗨,我正在努力解决这个问题 我有一个javascript数组,通过$POST发送到PHP,使用:将多维数组从javascript发送到PHP,javascript,php,Javascript,Php,嗨,我正在努力解决这个问题 我有一个javascript数组,通过$POST发送到PHP,使用: jsonScrutineeringArray = JSON.stringify(scrutineeringArray); 在PHP中,我会: $jsonScrutineeringArray = $_REQUEST["jsonScrutineeringArray"]; $tempData = html_entity_decode($jsonScrutineeringArray); $jsonScru
jsonScrutineeringArray = JSON.stringify(scrutineeringArray);
在PHP中,我会:
$jsonScrutineeringArray = $_REQUEST["jsonScrutineeringArray"];
$tempData = html_entity_decode($jsonScrutineeringArray);
$jsonScrutineeringArray2 = json_decode($tempData);
echo json_encode($jsonScrutineeringArray2);
for ($ii = 0; $ii < count($jsonScrutineeringArray2); ++$ii) {
echo 'driverID ='.$jsonScrutineeringArray2['driverID'][$ii];
}
所以我假设我在PHP中有一个格式正确的数组
但是,我无法使用以下变量回显单个字段:
echo 'driverID ='.$jsonScrutineeringArray2['driverID'][$ii];
我错过了什么
谢谢
更新。如果我使用var_dump($jsonscrutingeringarray2)
我得到:
array(3) {
[0]=>
object(stdClass)#2 (20) {
["ID"]=>
int(1)
["driverID"]=>
string(1) "1"
["event"]=>
string(0) ""
["race"]=>
string(0) ""
["FRTagID"]=>
string(0) ""
["FRDepth"]=>
string(0) ""
["FRNotes"]=>
string(0) ""
["FRFail"]=>
string(0) ""
["FLTagID"]=>
string(0) ""
["FLDepth"]=>
string(0) ""
["FLNotes"]=>
string(0) ""
["FLFail"]=>
string(0) ""
["RRTagID"]=>
string(0) ""
["RRDepth"]=>
string(0) ""
["RRNotes"]=>
string(0) ""
["RRFail"]=>
string(0) ""
["RLTagID"]=>
string(0) ""
["RLDepth"]=>
string(0) ""
["RLNotes"]=>
string(0) ""
["RLFail"]=>
string(0) ""
}
[1]=>
object(stdClass)#3 (20) {
["ID"]=>
int(1)
["driverID"]=>
string(1) "1"
["event"]=>
string(21) "Silverstone 21/2/2015"
["race"]=>
string(5) "Race2"
["FRTagID"]=>
string(2) "11"
["FRDepth"]=>
string(0) ""
["FRNotes"]=>
string(0) ""
["FRFail"]=>
string(4) "Fail"
["FLTagID"]=>
string(3) "111"
["FLDepth"]=>
string(0) ""
["FLNotes"]=>
string(0) ""
["FLFail"]=>
string(4) "Fail"
["RRTagID"]=>
string(4) "1111"
["RRDepth"]=>
string(0) ""
["RRNotes"]=>
string(0) ""
["RRFail"]=>
string(4) "Fail"
["RLTagID"]=>
string(5) "11111"
["RLDepth"]=>
string(0) ""
["RLNotes"]=>
string(0) ""
["RLFail"]=>
string(4) "Fail"
}
[2]=>
object(stdClass)#4 (20) {
["ID"]=>
int(2)
["driverID"]=>
string(1) "2"
["event"]=>
string(21) "Silverstone 12/3/2015"
["race"]=>
string(5) "Race3"
["FRTagID"]=>
string(2) "22"
["FRDepth"]=>
string(0) ""
["FRNotes"]=>
string(0) ""
["FRFail"]=>
string(4) "Fail"
["FLTagID"]=>
string(3) "222"
["FLDepth"]=>
string(0) ""
["FLNotes"]=>
string(0) ""
["FLFail"]=>
string(4) "Fail"
["RRTagID"]=>
string(4) "2222"
["RRDepth"]=>
string(0) ""
["RRNotes"]=>
string(0) ""
["RRFail"]=>
string(4) "Fail"
["RLTagID"]=>
string(5) "22222"
["RLDepth"]=>
string(0) ""
["RLNotes"]=>
string(0) ""
["RLFail"]=>
string(4) "Fail"
}
}
那么,我该如何循环使用它呢?而不是
echo 'driverID ='.$jsonScrutineeringArray2['driverID'][$ii];
试试这个:
echo 'driverID ='.$jsonScrutineeringArray2[$ii]->driverID;
你可以试试
foreach ($jsonScrutineeringArray2 as $jsonScrutineering) {
echo 'Driver ID = ' . $jsonScrutineering->driverID;
}
json\u decode($json,$assoc=false)
默认将JS哈希解析为标准对象。$jsonscrutingeringarray2[$ii]>driverID
设置第二个参数以请求PHP关联数组。
$jsonscrutingeringarray2[$ii]['driverID']
您在钥匙顺序上也犯了错误。
echo'driverID=。$jsonscrutingeringarray2[$ii]['driverID']代码>
而不是
echo'driverID='。$jsonscrutingeringarray2['driverID'][$ii]代码>尝试使用$jsonscrutineringarray2[$ii]['driverID']]
尝试简化它,在数据上使用foreach循环,并在每个步骤中转储变量web nomad$jsonscrutineringarray2[$ii]['driverID']不起作用这工作正常回音'driverID='。$jsonscrutineringarray2[$ii]>driverID;
foreach ($jsonScrutineeringArray2 as $jsonScrutineering) {
echo 'Driver ID = ' . $jsonScrutineering->driverID;
}