Fixed a bug while sorting

This commit is contained in:
Pietro
2018-03-31 16:07:32 +02:00
committed by GitHub
parent a9975b9fde
commit 1657928d88
3 changed files with 29 additions and 27 deletions
+1 -1
View File
@@ -290,7 +290,7 @@ class Market
array_push($holderarray,$value); array_push($holderarray,$value);
} }
} }
$this->onsale = $multisort->sorte($holderarray, "'duration'", true, 2); $this->onsale = $multisort->sorte($holderarray, "duration", true, 2);
} }
private function filterNeed($get) private function filterNeed($get)
+23 -21
View File
@@ -25,28 +25,30 @@ class multiSort {
if($i + 2 < func_num_args()) if($i + 2 < func_num_args())
$type = func_get_arg($i + 2); $type = func_get_arg($i + 2);
switch($type) $t = function($a, $b) use ($key)
{ {
case 1: // Case insensitive natural. switch($type)
$t = 'strcasenatcmp($a[' . $key . '], $b[' . $key . '])'; {
break; case 1: // Case insensitive natural.
case 2: // Numeric. $result = strcasenatcmp($a[$key], $b[$key]);
$t = '$a[' . $key . '] - $b[' . $key . ']'; break;
break; case 2: // Numeric.
case 3: // Case sensitive string. $result = $a[$key] - $b[$key];
$t = 'strcmp($a[' . $key . '], $b[' . $key . '])'; break;
break; case 3: // Case sensitive string.
case 4: // Case insensitive string. $result = strcmp($a[$key], $b[$key]);
$t = 'strcasecmp($a[' . $key . '], $b[' . $key . '])'; break;
break; case 4: // Case insensitive string.
default: // Case sensitive natural. $result = strcasecmp($a[$key], $b[$key]);
$t = 'strnatcmp($a[' . $key . '], $b[' . $key . '])'; break;
break; default: // Case sensitive natural.
} $result = strnatcmp($a[$key], $b[ $key]);
break;
}
return $result*($order ? 1 : -1);
};
usort($array, function($a, $b) use ($order, $t) { usort($array, $t);
return ($order ? '' : '-') . ($t);
});
} }
return $array; return $array;
} }
+5 -5
View File
@@ -467,7 +467,7 @@
array_push($holder, $value); array_push($holder, $value);
} }
$holder = $multisort->sorte($holder, "'x'", true, 2, "'y'", true, 2, "'pop'", false, 2); $holder = $multisort->sorte($holder, "x", true, 2, "y", true, 2, "pop", false, 2);
$newholder = array("pad"); $newholder = array("pad");
foreach($holder as $key) { foreach($holder as $key) {
array_push($newholder, $key); array_push($newholder, $key);
@@ -506,7 +506,7 @@
array_push($holder, $value); array_push($holder, $value);
} }
$holder = $multisort->sorte($holder, "'totalpop'", false, 2); $holder = $multisort->sorte($holder, "totalpop", false, 2);
$newholder = array("pad"); $newholder = array("pad");
foreach($holder as $key) { foreach($holder as $key) {
array_push($newholder, $key); array_push($newholder, $key);
@@ -526,7 +526,7 @@
array_push($holder, $value); array_push($holder, $value);
} }
$holder = $multisort->sorte($holder, "'experience'", false, 2); $holder = $multisort->sorte($holder, "experience", false, 2);
$newholder = array("pad"); $newholder = array("pad");
foreach($holder as $key) { foreach($holder as $key) {
array_push($newholder, $key); array_push($newholder, $key);
@@ -554,7 +554,7 @@
array_push($holder, $value); array_push($holder, $value);
} }
$holder = $multisort->sorte($holder, "'Aap'", false, 2); $holder = $multisort->sorte($holder, "Aap", false, 2);
$newholder = array("pad"); $newholder = array("pad");
foreach($holder as $key) { foreach($holder as $key) {
array_push($newholder, $key); array_push($newholder, $key);
@@ -582,7 +582,7 @@
array_push($holder, $value); array_push($holder, $value);
} }
$holder = $multisort->sorte($holder, "'Adp'", false, 2); $holder = $multisort->sorte($holder, "Adp", false, 2);
$newholder = array("pad"); $newholder = array("pad");
foreach($holder as $key) { foreach($holder as $key) {
array_push($newholder, $key); array_push($newholder, $key);