PHP如何获取JSON数据中键为product[]的数组内单个元素
问题原因
- 你提交的JSON数据中,键名本身就是
product[],该键对应的值才是存储两个系统名称的数组,第一个写法直接echo数组类型的数据,PHP不支持直接输出数组为字符串,因此触发数组转字符串的提示。 - 第二个写法错误将
product[0]当做顶层键名访问,你的JSON结构里根本不存在这个键,因此触发未定义索引报错。
正确实现代码
// 解析POST请求的JSON数据 $data = json_decode(file_get_contents('php://input'), true); // 先把product[]对应的整个数组存入变量 $product_list = $data["product[]"]; // 读取第一个元素 $first_product = $product_list[0]; echo $first_product; // 输出结果:Layer Management System // 也可以直接一步读取 echo $data["product[]"][0];
补充说明
如果你不想在键名里保留[],可以调整前端提交的JSON结构为{"product":["Layer Management System","Broiler Management System"]},后续读取就可以用$data['product'][0],写法更符合常规习惯。
内容的提问来源于stack exchange,提问作者sathish
相关产品推荐
相关产品推荐

