Php 在codeigniter中将数组转换为字符串
我在控制器中有这样一个函数。我需要将Php 在codeigniter中将数组转换为字符串,php,codeigniter,codeigniter-3,codeigniter-query-builder,Php,Codeigniter,Codeigniter 3,Codeigniter Query Builder,我在控制器中有这样一个函数。我需要将$data1['hasil1']的结果插入tampilInduk public function sikap(){ $person=$this->session->userdata('idperson'); $data1['hasil1']=$this->M_Guru->tampilNik($person); $data2['hasil2']=$this->M_Guru->tampilInduk($
$data1['hasil1']
的结果插入tampilInduk
public function sikap(){
$person=$this->session->userdata('idperson');
$data1['hasil1']=$this->M_Guru->tampilNik($person);
$data2['hasil2']=$this->M_Guru->tampilInduk($data1);
$this->load->view('sidebarGuru');
$this->load->view('navbarGuru');
$this->load->view('kompetensiSikap',$data1+$data2);
}
我有这样的模型代码
public function tampilInduk($data1){
$this->db->select('induk');
$this->db->from('kelas b');
$this->db->join('siswa_kelas c','c.namakelas= b.namakelas','c.thnakademik=b.thnakademik','c.kdtingkat=b.kdtingkat','right');
$this->db->where('nik',$data1);
$data = $this->db->get(); //mengambil seluruh data
return $data->result();
}
public function tampilNik($person){
$this->db->select('nik');
$this->db->from('guru');
$this->db->where('idperson',$person);
$data=$this->db->get();
return $data->row()->nik;
}
但是错误说明需要先将变量转换为字符串。您能帮助我如何将数组转换为字符串吗?您可以使用
$this->db->where('nik',$data1['hasil1')代码>而不是$this->db->where('nik',$data1)代码>您可以针对您的问题尝试以下解决方案:
public function tampilInduk($data1) {
$this->db->select('induk');
$this->db->from('kelas b');
$this->db->join('siswa_kelas c', 'c.namakelas= b.namakelas', 'c.thnakademik=b.thnakademik', 'c.kdtingkat=b.kdtingkat', 'right');
$this->db->like('nik',$data1['hasil1']);
$data = $this->db->get(); //mengambil seluruh data
return $data->result();
}
我希望这会有所帮助。这应该可以:
public function sikap(){
$person=$this->session->userdata('idperson');
$data1['hasil1']=$this->M_Guru->tampilNik($person);
$data2['hasil2']=$this->M_Guru->tampilInduk($data1['hasil1']);
$this->load->view('sidebarGuru');
$this->load->view('navbarGuru');
$this->load->view('kompetensiSikap',$data1+$data2);
}
public function tampilInduk($nik){
$this->db->select('induk');
$this->db->from('kelas b');
$this->db->join('siswa_kelas c','c.namakelas= b.namakelas','c.thnakademik=b.thnakademik','c.kdtingkat=b.kdtingkat','right');
$this->db->where('nik',$nik);
$data = $this->db->get(); //mengambil seluruh data
return $data->result();
}
public function tampilNik($person){
$this->db->select('nik');
$this->db->from('guru');
$this->db->where('idperson',$person);
$data=$this->db->get();
return $data->row()->nik;
}
首先解释,$data['hasil1']
打印的内容,然后解释下一个函数中where语句中应该包含该内容的哪一列。我需要将$data1['hasil1']的结果插入到tampilInduk。
插入查询$data['hasil1']
这个变量只得到一个值print\r($data['hasil1'])代码>是什么?数组([0]=>stdClass对象([nik]=>4144222))@AlexA PHP遇到错误严重性:注意消息:尝试获取非Object的属性重试。忘了什么。更新我尝试了上述两种方法,但结果仍然相同遇到了一个PHP错误严重性:注意消息:尝试获取非对象的属性您正在获取Array([0]=>stdClass对象([nik]=>4144222))
correct??在这种情况下,您将其分配给$data1['hasil1']
,在我给出的第一个例子中,您将其传递给函数,这意味着(如果您获得上述数组),那么$data['hasil1'][0]->nik
是获得它的正确方法。你在使用我更新的代码吗?我之前更改了一些内容…你能1)在函数中打印($data1)
并报告2)在你的问题中添加函数tampilNik