我有一个数组,我需要更改列的值但没有循环,因为它复制了结果
$job_query = $this->db->query('SELECT * from job j , company c where j.company = c.id')->result_array();
$companyC = $this->db->query('SELECT j.company ,c.title, c.city, c.logo , c.logo , c.contact FROM job j , company c where c.id = j.company')->result_array();
我需要第一个查询中的列公司更改为
$job_query['company']=$companyC[key];
但是我得到没有array_map循环的密钥
答案 0 :(得分:1)
在codeigniter result_array()
中以数组的形式返回所有记录。因此,您必须使用foreach循环来访问列。但是如果您只想要第一条记录,则使用row_array()
,如下所示:
$job_query = $this->db->query('SELECT * from job j , company c where j.company = c.id')->row_array();
$companyC = $this->db->query('SELECT j.company ,c.title, c.city, c.logo , c.logo , c.contact FROM job j , company c where c.id = j.company')->row_array();
然后
$job_query['company'] = $companyC[key];
答案 1 :(得分:0)
您可以使用 array_column 功能
array_column($array, $columnname);
$ array是你拥有的数组
$ columnname是密钥的名称
答案 2 :(得分:0)
是的,我这样做了,问题在于我有2个查询,但现在我修复了它并且不需要第一个我从第二个获取值的任何方式感谢它帮助。
foreach($ job_query as $ key => $ value){ 在这里分配了一个新值 $ new = array(); }