// 다중 컬럼을 오름/내림으로 소트
// $dir_sorted = SortArray($dir_contents, "is_dir", DESC, "name", ASC);
function SortArray() {
$arguments = func_get_args();
$array = $arguments[0];
$code = '';
for ($c = 1; $c < count($arguments); $c += 2) {
if (in_array($arguments[$c + 1], array("ASC", "DESC"))) {
$code .= 'if ($a["'.$arguments[$c].'"] != $b["'.$arguments[$c].'"]) {';
if ($arguments[$c + 1] == "ASC") {
$code .= 'return ($a["'.$arguments[$c].'"] < $b["'.$arguments[$c].'"] ? -1 : 1); }';
}
else {
$code .= 'return ($a["'.$arguments[$c].'"] < $b["'.$arguments[$c].'"] ? 1 : -1); }';
}
}
}
$code .= 'return 0;';
$compare = create_function('$a,$b', $code);
usort($array, $compare);
return $array;
}
// 컬럼으로 오름차순 소트
function columnSort($unsorted, $column) {
$sorted = $unsorted;
for ($i=0; $i < sizeof($sorted)-1; $i++) {
for ($j=0; $j<sizeof($sorted)-1-$i; $j++) {
if ($sorted[$j][$column] > $sorted[$j+1][$column]) {
$tmp = $sorted[$j];
$sorted[$j] = $sorted[$j+1];
$sorted[$j+1] = $tmp;
}
}
}
return $sorted;
}
'프로그래밍 언어 > php' 카테고리의 다른 글
php header_sent (0) | 2007.11.27 |
---|---|
array_combine php5 -> php4 (0) | 2007.05.07 |
php error func (0) | 2007.03.12 |
str_word_count - 문자열에서 사용한 단어에 대한 정보 반환 (0) | 2007.03.11 |
substr_count - 부분 문자열 수를 센다. (0) | 2007.03.11 |