我有一个问题是使用key(class_id)创建一个数组,并且在这个键中有很多users_ids。我有函数,其中$ ids是一个带数字的简单数组。 我想这样做:
array =>
1 (class_id) =>
0=> 'user_id'
1=> 'user_id',
2 (class_id) =>
0=> 'user_id'
1=> 'user_id'
现在我正在返回这个(只有一个user_id,应该有更多:
array =>
1=> 'user_id'
2=> 'user_id'
static function getUsersIdsByClassIds($ids)
{
$userIds = [];
foreach($ids as $classId) {
$object = self::select('user_id')
->where('class_id', $classId)
->get();
foreach($object as $sth){
$userIds[$classId]=$sth->user_id;
}
}
return $userIds;
}
我无法修复它来做我想要的结构。
答案 0 :(得分:3)
在这里
foreach($object as $sth){
$userIds[$classId] = $sth->user_id;
}
你覆盖每次迭代的值。但实际上你想要添加一个新条目:
foreach($object as $sth){
// here it is
$userIds[$classId][] = $sth->user_id;
}