龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

求此算法的优化版!!!!

时间:2014-07-22 14:48来源: 作者: 点击:
分享到:
项目中遇到的问题。一个大数组中有若干的小数组,但是小数组可能有重复,接口需要返回一个不重复的数组结构。PHP中的内置function array_merge()试过,不可以实现对小数组的排序。下面
项目中遇到的问题。
一个大数组中有若干的小数组,但是小数组可能有重复,接口需要返回一个不重复的数组结构。PHP中的内置function array_merge()试过,不可以实现对小数组的排序。下面是我使用的方式。我只能说效率很低,如果你看到这篇文章,有好的方法,请告诉我。:)
//$hotel_setting可能含有重复的大数组。
小数组结构为array('hotel_adt_cnt'=>'','hotel_chd_cnt'=>'');
$hotel_unique = array();
        while ( 1 ) {

            $cmp = array_shift( $hotel_setting );
            $repeat = false;
            foreach ( $hotel_setting as $val ) {
                if ( $val['hotel_adt_cnt'] == $cmp['hotel_adt_cnt'] &&  $val['hotel_chd_cnt'] == $cmp['hotel_chd_cnt']) {
                    $repeat = true;
                    break;
                }
            }

            if(!$repeat)
            {
                $hotel_unique[] = $cmp;
            }

            if ( count( $hotel_setting ) == 0 ) {
                break;
            }
        }
        $hotel_setting = $hotel_unique;
精彩图集

赞助商链接