如何遍历空数组或对象

问题描述 投票:-1回答:1

我有一个对象或数组,如下所示:“ [{},{},{},{},{},{},{},{},{\” subject \“:\” Math \“},{},{},{},{ },{},{},{},{},{},{},{},{},{},{},{},{},{},{\“学科\”:\”化学\”},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}] “

以及:[{},{},{},{},{},{},{},{},{“ subject”:“ Math”},{},{},{},{},{}, {},{},{},{},{},{},{},{},{},{},{},{},{“主体”:“化学”},{},{ },{},{},{},{},{},{},{},{},{},{},{},{},{}]

当我使用foreach循环对其进行迭代时,它显示“第11行的C:\ wamp64 \ www \ eschool \ cms \ admin \ scripts \ time-table-add-submit.php中为foreach()提供了无效的参数”可能是由于开头和结尾处的值为空。但我想以某种方式进行迭代。这是我的代码:JavaScript:

var timeTableSub = [
       {"subject": timeTableSub1},
       {"subject": timeTableSub2},
       ... Like Wise....
       {"subject": timeTableSub42}
];
var jsonArray = JSON.stringify(timeTableSub);

$.ajax({
        url: "scripts/time-table-add-submit.php",
        type: "POST",
        dataType: 'html',
        data:{
            'arrayList': jsonArray
        },
        success: function (data) {
            data = $.trim(data);
            $("#tempDiv").html(data);
        }
    });

PHP:

<?php
$arrayList = json_encode($_POST['arrayList'], TRUE);

echo $arrayList."<br>";
$newArray = json_decode($arrayList);
echo $newArray."<br>";




foreach ($newArray as $key => $value)
{
      echo $key . " => " . $value . "<br>";
}

?>

javascript php arrays json
1个回答
0
投票

您似乎要对数据进行两次字符串化,一次是在请求期间使用JSON.stringify在前端,一次是在通过再次编码对POST对象进行接收时。

删除任何一个都可以解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.