yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例相关的知识,希望对你有一定的参考价值。

yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并元数组信息---案例

 

public function actionRandomLists(){

//查询到了所有用户的信息
$UserInfo=UserOperate::find()->select(‘id,username,sex,signature,lng,lat,imgs‘)->asArray()->all();

//循环遍历取出来所有的用户信息中想要的id,然后去另一数据表查询想要的内容

foreach($UserInfo as $key => $val){
  $user_id = explode(‘,‘,$val[‘id‘]);
  $PetList[]=PetOperate::find()->select(‘pet_sex,pet_category,pet_name,pet_imgs‘)->where([‘user_id‘=>$user_id])->asArray()->all();

  //(支持多次查询)第二次根据拿到的id循环遍历查询另一数据表的信息

  $UserFriendInfo=UserFriendOperate::find()->where([‘user_id‘=>$user_id])->asArray()->all();
  foreach($UserFriendInfo as $k => $v){

    //进行对比来查看拿到的数组里面有没有要进行对比的数组
    $array[] = $v[‘friend_id‘];
    if(in_array($user_id,$array)){

      //如果有那么返回的方式如下
      $UserInfo[$key][‘is_friend‘] = ‘true‘;
    }else{

      //如果没有那么返回的方式如下
      $UserInfo[$key][‘is_friend‘] = ‘false‘;
    }
  }

}

//数组合并
foreach ($UserInfo as $key => $val) {
$UserInfo[$key][‘pet‘] = $PetList[$key];
}

//接口逻辑处理完成之后按照框架封装的返回值的类型返回数据即可
return Helper::format_data ( SUCC, $UserInfo);
}

以上是关于yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例的主要内容,如果未能解决你的问题,请参考以下文章

可以使用foreach遍历循环的条件

php foreach只能遍历数组么

如何用foreach做数组个数的遍历

要实现foreach遍历要继承啥接口

for 与forEach的区别

php 循环遍历Yii2中的大量数据库行