You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中将对象数组转换为关联数组?附jQuery传参代码

如何将AJAX提交的JS对象数组转为PHP关联数组

现状说明

你当前的JS代码通过jQuery AJAX提交对象数组时,jQuery会自动将数组序列化为PHP可识别的表单格式,后端其实可以直接拿到关联数组,无需额外复杂转换。

后端直接处理方法

直接通过$_POST['arr']获取数据,它本身就是一个多维关联数组。你可以用以下代码验证并使用:

<?php
// check.php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 直接获取转换好的关联数组
    $teacherClasses = $_POST['arr'];
    
    // 打印查看数组结构
    var_dump($teacherClasses);
    
    // 遍历数组示例
    foreach ($teacherClasses as $item) {
        echo "教师:{$item['teacherName']},科目:{$item['subjectName']},课时:{$item['totalClass']}<br>";
    }
}
?>

可选方案:用JSON格式传输(更简洁)

如果想更明确地用JSON格式传输数据,可修改前端AJAX代码:

$('#myForm').submit(function (e) {
    e.preventDefault(); // 阻止表单默认跳转
    console.log(arr);

    $.ajax({
        type: 'POST',
        url: 'http://localhost/Backend/check.php',
        contentType: 'application/json', // 指定内容类型为JSON
        data: JSON.stringify(arr), // 将JS数组转为JSON字符串
        success: function (data) {
            $('#output').html(data);
        }
    })
})

后端对应处理代码:

<?php
// check.php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 读取原始JSON数据
    $jsonData = file_get_contents('php://input');
    // 解析为关联数组(第二个参数设为true)
    $teacherClasses = json_decode($jsonData, true);
    
    var_dump($teacherClasses);
}
?>

内容的提问来源于stack exchange,提问作者Lokesh Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:15:37