如何通过PHP将一列json对象拆分为更多列
Posted
技术标签:
【中文标题】如何通过PHP将一列json对象拆分为更多列【英文标题】:How to split a Column of json Object to More Column via PHP 【发布时间】:2020-12-19 08:34:23 【问题描述】:如何拆分这个 json 对象以发布到数据库名称、爱好、年龄的列
"student1":"john smitch,reading,15",
"student2":"albert North, running,13"
我的数据库名称:新的,表名称:注册,这是我的 php 代码:
public function index_post()
//$this->some_model->update_user( ... );
$data = [
'name' => $this->post('student1'),
];
$message = ['registration was successful']
$this->db->insert("registration", $data);
$this->set_response($message, REST_Controller::HTTP_CREATED); // CREATED (201) being the HTTP response code
【问题讨论】:
【参考方案1】: 将数据设为 PHP 数组或对象 遍历并修剪以逗号分隔的条目 插入行$json = '
"student1":"john smitch,reading,15",
"student2":"albert North, running,13"
';
$sth = $db->prepare('INSERT INTO registration SET name=?, hobby=?, age=?');
foreach(json_decode($json) as $key => $value)
$sth->execute(array_map(fn($e) => trim($e), explode(',', $value)));
【讨论】:
【参考方案2】:你可以先解码 JSON
$students = json_decode($json);
然后你可以遍历所有学生
foreach($students as $key => $student)
现在你可以用
分割这个字符串了$studentAtributes = explode(',', $student);
然后遍历所有属性
foreach($studentAtributes as $attribute)
【讨论】:
以上是关于如何通过PHP将一列json对象拆分为更多列的主要内容,如果未能解决你的问题,请参考以下文章
Pandas Dataframe:如何将一列拆分为多个单热编码列[重复]