代码:
<?php
$this->db->select('*');
$this->db->from('student');
$this->db->order_by('studentID','DESC');
$sql1 = $this->db->get();
$result1 = $sql1->result_array();
foreach($result1 as $arr1)
{
$array1[] = array(
'link' => 'student',
'values' => '<b>'.$arr1['create_username'].'</b> added new student <b>'.$arr1['name'].'</b>',
'dates' => $arr1['s_date']
);
}
$this->db->select('*');
$this->db->from('professor');
$this->db->order_by('professorID','DESC');
$sql2 = $this->db->get();
$result2 = $sql2->result_array();
foreach($result2 as $arr2)
{
$array2[] = array(
'link' => 'professor',
'values' => '<b>'.$arr2['create_username'].'</b> added new professor <b>'.$arr2['name'].'</b>',
'dates' => $arr2['s_date']
);
}
$this->db->select('*');
$this->db->from('classes');
$this->db->order_by('classesID','DESC');
$sql3 = $this->db->get();
$result3 = $sql3->result_array();
foreach($result3 as $arr3)
{
$array3[] = array(
'link' => 'classes',
'values' => '<b>'.$arr3['create_username'].'</b> added new course <b>'.$arr3['name'].'</b>',
'dates' => $arr3['s_date']
);
}
foreach(array_combine($array1,$array2,$array3) as $rowss)
{
echo '<li>
<a href="'.base_url().''.$rowss['link'].'">
<p>'.$rowss['values'].'</p>
</a>
<a href="javascript:void(0)">'.time_elapsed_string($rowss['dates']).'</p>
</li>';
}
在这段代码中,我仅对表student, professor and classes
同时运行三个查询。现在,我想将所有数组(即,位于foreach循环内的array1, array2, array3
)组合或映射到单个array
中。那么,我该如何解决呢?请帮助我。
谢谢
答案 0 :(得分:1)
这不是特定于代码点火器的。在php中,您可以使用array_merge()本机函数合并多个数组
$ finalArray = array_merge($ array1,$ array2,$ array3);
答案 1 :(得分:0)
使用array_merge()
合并两个或多个数组
语法:
array array_merge($array1, $array2, ......, $arrayn)
这是您的代码:
<?php
$array1 = array(
array(
'link' => 'student',
'values' => '1',
'dates' => '01'
),
array(
'link' => 'student',
'values' => '2',
'dates' => '02'
)
);
$array2 = array(
array(
'link' => 'professor',
'values' => '1',
'dates' => '01'
),
array(
'link' => 'professor',
'values' => '2',
'dates' => '02'
)
);
$array3 = array(
array(
'link' => 'classes',
'values' => '1',
'dates' => '01'
),
array(
'link' => 'classes',
'values' => '2',
'dates' => '02'
)
);
$res = array_merge($array1, $array2, $array3);
echo '<pre>';
print_r($res);
?>
输出:
Array
(
[0] => Array
(
[link] => student
[values] => 1
[dates] => 01
)
[1] => Array
(
[link] => student
[values] => 2
[dates] => 02
)
[2] => Array
(
[link] => professor
[values] => 1
[dates] => 01
)
[3] => Array
(
[link] => professor
[values] => 2
[dates] => 02
)
[4] => Array
(
[link] => classes
[values] => 1
[dates] => 01
)
[5] => Array
(
[link] => classes
[values] => 2
[dates] => 02
)
)