我想学生里,teach_user值输出是老师。而不是老师里输出学生的值。
id pid name
1 0 老师1
2 0 老师2
3 1 学生1
4 1 学生2
5 2 学生3
学生1 teach_user 值里调出 老师1
学生2 teach_user 值里调出 老师1
学生3 teach_user 值里调出 老师2
数组:
Array
(
[1] => Array
(
[id] => 1
[pid] => 0
[truename] => 老师1
[groupid] => 1
[teach_user] => Array
(
)
)
[2] => Array
(
[id] => 2
[pid] => 0
[truename] => 老师2
[groupid] => 1
[teach_user] => Array
(
)
)
[4] => Array
(
[id] => 4
[pid] => 1
[truename] => 学生1
[regtime] => 1479318572
[groupid] => 2
[teach_user] => Array
(
)
)
[5] => Array
(
[id] => 5
[pid] => 1
[truename] => 学生2
[groupid] => 2
[teach_user] => Array
(
)
)
[6] => Array
(
[id] => 6
[pid] => 2
[username] => ls01
[truename] => 学生3
[groupid] => 2
[teach_user] => Array
(
)
)
想学生循环输出 ,然后老师在teach_user 值里。each_user里的值对应学生pid:
想要效果如下:
[0] => Array
(
[id] => 10
[pid] => 1
[truename] =>学生1
[groupid] => 2
[teach_user] => Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[truename] => 老师1
[groupid] => 1
[teach_user] => Array
[teach_user] => Array
(
)
)
)
[1] => Array
(
[id] => 10
[pid] => 1
[truename] =>学生2
[groupid] => 2
[teach_user] => Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[truename] => 老师1
[groupid] => 1
[teach_user] => Array
[teach_user] => Array
(
)
)
)
[2] => Array
(
[id] => 10
[pid] => 2
[truename] =>学生3
[groupid] => 2
[teach_user] => Array
(
[0] => Array
(
[id] => 2
[pid] => 0
[truename] => 老师2
[groupid] => 1
[teach_user] => Array
(
)
(
)
)
)
。。。。。
)
PHP循环写法:
$tree = array();
foreach($数据库 as $v){
$tree[$v['id']] = $v;
$tree[$v['id']]['teach_user'] = array();
}
foreach($tree as $m=>$n){
if($n['tid'] != 0){
$tree[$n['tid']]['teach_user'][] = &$tree[$m];
}
}
我这样些感觉不对。
不知道我理解的对不对,你是想一次性读取所有数据,每个学生对应的老师信息在学生信息数组里面,(不是所有的老师吧?)
小白一个希望可以帮到你