PHP

배열 정열하기

헤롱헤롱이 2020. 7. 15. 09:43
               function array_msort($array, $cols)
               {
               $colarr = array();
               foreach ($cols as $col => $order) {
               $colarr[$col] = array();
               foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
               }
               $eval = 'array_multisort(';
               foreach ($cols as $col => $order) {
               $eval .= '$colarr[\''.$col.'\'],'.$order.',';
               }
               $eval = substr($eval,0,-1).');';
               eval($eval);
               $ret = array();
               foreach ($colarr as $col => $arr) {
               foreach ($arr as $k => $v) {
               $k = substr($k,1);
               if (!isset($ret[$k])) $ret[$k] = $array[$k];
               $ret[$k][$col] = $array[$k][$col];
               }
               }
             
               $result = array();
             
               foreach($ret as $v)
               {
               $result[] = $v;
               }
             
               return $result;
             
               }
             
               $category = array_msort($category, array('1'=>SORT_ASC));
              //debug($category);