Php 如何在codeigniter中解析控制器中post中的字符串

Php 如何在codeigniter中解析控制器中post中的字符串,php,string,codeigniter,parsing,Php,String,Codeigniter,Parsing,我有一个多值文本区,带有自动建议。现在,我在控制器中接收到一个具有某种数组结构字符串的字符串。我想把它一个一个地插入我的数据库。比如,我想把它们一个接一个地插入我的数据库。我遇到了一个问题,如何从控制器解析此类型 这是我的控制器: public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) { $diagnosis = $this->input->post('tdiagnosis')

我有一个多值文本区,带有自动建议。现在,我在控制器中接收到一个具有某种数组结构字符串的字符串。我想把它一个一个地插入我的数据库。比如,我想把它们一个接一个地插入我的数据库。我遇到了一个问题,如何从控制器解析此类型

这是我的控制器:

public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) {
    $diagnosis = $this->input->post('tdiagnosis');
    var_dump($diagnosis);    
} 
现在当我
var\u dump($diagnosis)时此值为:

string(30) "["Cobol","JavaScript","Scala"]"
现在我想逐个解析这个字符串,这样我就可以将这些值插入到我的数据库中,比如:

checkup_id   language
1             cobol
2             javascript
3             scala
正则表达式

捕获“”之间的“单词”

使用php的explode()函数将字符串根据字符拆分为

public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) {
    $diagnosis = $this->input->post('tdiagnosis');
    $var=json_decode($diagnosis);
    var_dump($var);    
} 

使用
分解(“,”,$diagnosis)
。它会给你一个array@RAUSHANKUMAR先生,你能回答这个问题吗。下面介绍如何使用或语法是什么?preg\u match\u all(“/\”(\w+?)\“/”,$tdiagnosis,$arr);我可以用这样的东西吗?@JcJohn你还需要什么吗?为什么有两个输出。。我只需要第二个输出,如果我只需要第二个输出,我怎么使用它呢?我只需要输出[1]=>array(3){[0]=>string(5)“Cobol”[1]=>string(10)“JavaScript”[2]=>string(5)“Scala”}我只需要输出[1]=>array(3){[0]=>string(5)“Cobol”[1]=>string(10)“JavaScript”[2]=>string(5)“Scala”}@JcJohn regex总是创建两个数组。一个是完全匹配,另一个是您想要捕获的数组。我认为完全匹配很好,因为这样您可以调试代码。但是如果您想要删除完全匹配并只保留捕获,您可以使用以下方法:是的,这是正确的,您得到了一个数组,现在您可以使用它,但是
[
]
这应该在数组中吗?编辑和额外“@RAUSHANKUMAR是的,那么我可以这样做吗?我将获得数组的长度,并将其与其长度循环,然后插入?类似于我的id是自动递增的?现在我已经为您回显了数组。看到区别了吗?是的,使用此
插入到表名称(检查id)值($diagnosis[0]),($diagnosis[1]),($diagnosis中
public function finish_checkup($patient_id,$queue_id,$checkup_id,$clinic_id) {
    $diagnosis = $this->input->post('tdiagnosis');
    $var=json_decode($diagnosis);
    var_dump($var);    
}