thinkphp中查询数据将对象转换成数组,并且合并重新排序

前几天写项目,遇到一个问题,就是把两个数据表中的数据和并在一起并且要按照某一个关键词去排序(我项目是按照时间)然后在前端输出。

  1. tp5通过select出来的数据是object里面还包含了很多其它的东西,直接用对象的调用方法我是把数组提取不出来。

  2. 两个数组合并的问题这个比较简单,直接用array_merge()就能快速的搞定

  3. 重新按照另外一种要求去排序。

好了不多说了,直接上代码

	 $out_money = new Outmoney;
	 $money = new Mmoney;
    $out = $out_money->field('id',true)->select();
     $in_money= $money->field('id',true)->select();

    $datas = array_merge($in_money,$out);
    $json_arr = json_encode($datas,256);   //256是为了将中文能正常显示
    $json_arr =json_decode($json_arr);

    $arr=array();
    foreach ($json_arr as $key => $value) {
         if(is_object($value))
           {
            $arr[$key] = (array)$value;
           }
       
    }

    $dates = array_column($arr,"nowtime");//nowtime是我数据中某一关键字
    $dates = array_multisort($dates1,SORT_ASC,$arr);//根据某列的数据进行排序。很好用

最终的结果就变成了最熟悉的二位数组,很happy的解决了这个数据整合的问题。(小小菜鸟遇到的小问题!)

你可能感兴趣的:(#,thinkphp)