Php 在foreach循环ci内创建数组索引

Php 在foreach循环ci内创建数组索引,php,Php,我有一个id数组,通过它我必须从两个表中获取数据,现在让我们一步一步地解决这个问题 第一步我必须得到我想要的数据的id,这是返回id数据的模型 function child_get($id){ $this->db->select("id"); $this->db->from('generic_table'); $this->db->where("parent",$id); $query = $th

我有一个id数组,通过它我必须从两个表中获取数据,现在让我们一步一步地解决这个问题

第一步我必须得到我想要的数据的id,这是返回id数据的模型

function child_get($id){
        $this->db->select("id");
        $this->db->from('generic_table');
        $this->db->where("parent",$id);
        $query = $this->db->get();
        return $query->result_array();
    }
这将返回以下格式的ID数组

Array ( [0] => Array ( [id] => 13 ) [1] => Array ( [id] => 14 ) )
到目前为止我还没有问题,现在我必须遍历这个数组,并根据我使用的foreach循环的id动态地将数据添加到数组中

$arrOfIds = $data['child1'];
          foreach($arrOfIds as $row) {
             $data['child3']=array
            (
                "id" => $row["id"],
                "path" => $this->Menu->test_maindata($row["id"])
            );
          }
foreach内部使用的模型

 public function test_maindata($id)
    {
        $this->db->select("path");
        $this->db->from('main_data');
        $this->db->where("f_key",$id);
        $query = $this->db->get();
        return $query->result_array();
    }
现在,第一个问题是覆盖迭代的每个值,只返回最后一个值,见下文

Array ( [id] => 14 [path] => Array ( [0] => Array ( [path] => almond.jpg ) ) ) 
您可以看到它跳过了ID13的迭代

其次,我可以按照以下模式制作这个数组吗

Array( [0] => Array( id=> 13, path=>bluebery.jpg) [1]=> Array( id=> 14, path=>almond.jpg));
循环迭代的和

$arrOfIds = $data['child1'];
          foreach($arrOfIds as $row) {
             $data['child3'][]=array
            (
                "id" => $row["id"],
                "path" => $this->Menu->test_maindata($row["id"])
            );
          }

为什么不使用CI Framework的连接功能我正在查看它,但仍然存在一个问题,即如何将其动态添加到数组中,正如您在循环内部看到的那样,它在每个iterationArray上覆盖([id]=>14[path]=>array([0]=>array([id]=>16[path]=>almond.jpg)))连接是不正确的,它没有比较id,id是13,14,它返回14,16表之间如何相互关联?现在你必须通过php编码在视图文件中显示正确的路径好的,我已经开始工作了,它返回正确的数组,如数组([0]=>array([name]=>Almonds[path]=>almond.jpg))如果我使用$this->Menu->test_maindata(“14”);
$arrOfIds = $data['child1'];
          foreach($arrOfIds as $row) {
             $data['child3'][]=array
            (
                "id" => $row["id"],
                "path" => $this->Menu->test_maindata($row["id"])
            );
          }