Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在foreach中处理codeigniter php数组合并的最佳方法是什么?_Php_Codeigniter_Array Merge - Fatal编程技术网

在foreach中处理codeigniter php数组合并的最佳方法是什么?

在foreach中处理codeigniter php数组合并的最佳方法是什么?,php,codeigniter,array-merge,Php,Codeigniter,Array Merge,我正在尝试列出所有学校的学生,他们的学校位置id=1,我使用codeigniter的使用连接到多个学校数据库。我的挑战是,它只列出上一所学校的学生。 下面是我的代码 $schools = $this -> db->select('*') ->from('schools') ->where('schools.school_location_id', 1) ->get()->result_array(); foreach ($schools

我正在尝试列出所有学校的学生,他们的学校位置id=1,我使用codeigniter的使用连接到多个学校数据库。我的挑战是,它只列出上一所学校的学生。 下面是我的代码

$schools = $this -> db->select('*')
    ->from('schools')
    ->where('schools.school_location_id', 1)
    ->get()->result_array();
foreach ($schools as $row) :
    $school_db_name = $row['school_db_name'];
    $this->db->query("use $school_db_name");  // here I switch school database, cause I'm connected to multiple school databasees
    $school_students = $this->db->select('*')
        ->from('school_students')
        ->get()->result_array();
endforeach;

$recipients = array_merge($school_students);

foreach ($recipients as $row) :
    echo $row['name'];
endforeach;

$school\u学生
每次通过foreach循环都会被覆盖。另一种方法是简单地将结果添加到数组中,如下所示:

    foreach($schools as $row):
            $school_db_name    =   $row['school_db_name'];
            $this->db->query("use $school_db_name");
            $school_students[]    =   $this->db->select('*')
                                    ->from('school_students')
                                    ->get()->result_array();
    endforeach;
例如,如果以后需要展平阵列,可以使用以下方法:

$recipients=array\u merge(…$school\u学生)

和on$recipients=array\u merge($school\u students),我应该如何回答?我已经伸出我的答案,乐于助人:请考虑把答案标记为接受,如果它解决了你的问题,标记。