如何在CodeIgniter 4控制器中遍历jQuery生成的JSON数组数据
在CodeIgniter 4控制器中遍历表格转JSON后的数组
你拿到的数组里,索引0对应的是转义后的JSON字符串,需要先解码为PHP数组,再遍历处理每个元素。以下是具体实现代码:
<?php namespace App\Controllers; class YourController extends BaseController { public function handleTableData() { // 模拟从前端获取到的原始数组 $rawArray = [ '[{"ID":"\n2","Name":"\nCP","Price":"\n350.20"},{"ID":"\n3","Name":"\nLFT","Price":"\n700.10"},{"ID":"\n4","Name":"\nRFT","Price":"\n200"},{"ID":"\n5","Name":"\nurinetest","Price":"\n1000"}]' ]; // 提取JSON字符串并解码为关联数组 $jsonContent = $rawArray[0]; $tableData = json_decode($jsonContent, true); // 校验JSON解码是否成功 if (json_last_error() !== JSON_ERROR_NONE) { return $this->response->setJSON(['status' => 'error', 'msg' => 'JSON格式无效']); } // 遍历处理每个数据项 foreach ($tableData as $item) { // 清理字段值中的换行符与前后空白 $id = trim($item['ID']); $name = trim($item['Name']); $price = trim($item['Price']); // 这里可添加业务逻辑,如存入数据库、返回前端等 // 示例输出: log_message('info', "处理数据:ID={$id}, 名称={$name}, 价格={$price}"); } return $this->response->setJSON(['status' => 'success']); } }
关键说明
json_decode($jsonContent, true):将JSON字符串转为PHP关联数组,便于直接操作字段trim():去除每个字段值里的\n换行符及前后空白,保证数据整洁json_last_error():校验JSON解码结果,避免因格式错误导致后续逻辑异常
内容的提问来源于stack exchange,提问作者muizz alvi
相关产品推荐
相关产品推荐

