|
|
|
@ -263,8 +263,8 @@ class ArrayHelper
|
|
|
|
|
* elements, a property name of the objects, or an anonymous function returning the values for comparison |
|
|
|
|
* purpose. The anonymous function signature should be: `function($item)`. |
|
|
|
|
* To sort by multiple keys, provide an array of keys here. |
|
|
|
|
* @param boolean|array $ascending whether to sort in ascending or descending order. When |
|
|
|
|
* sorting by multiple keys with different ascending orders, use an array of ascending flags. |
|
|
|
|
* @param boolean|array $descending whether to sort in descending or ascending order. When |
|
|
|
|
* sorting by multiple keys with different descending orders, use an array of descending flags. |
|
|
|
|
* @param integer|array $sortFlag the PHP sort flag. Valid values include |
|
|
|
|
* `SORT_REGULAR`, `SORT_NUMERIC`, `SORT_STRING` and `SORT_LOCALE_STRING`. |
|
|
|
|
* Please refer to [PHP manual](http://php.net/manual/en/function.sort.php) |
|
|
|
@ -272,7 +272,7 @@ class ArrayHelper
|
|
|
|
|
* @param boolean|array $caseSensitive whether to sort string in case-sensitive manner. This parameter |
|
|
|
|
* is used only when `$sortFlag` is `SORT_STRING`. |
|
|
|
|
* When sorting by multiple keys with different case sensitivities, use an array of boolean values. |
|
|
|
|
* @throws InvalidParamException if the $ascending or $sortFlag parameters do not have |
|
|
|
|
* @throws InvalidParamException if the $descending or $sortFlag parameters do not have |
|
|
|
|
* correct number of elements as that of $key. |
|
|
|
|
*/ |
|
|
|
|
public static function multisort(&$array, $key, $descending = false, $sortFlag = SORT_REGULAR, $caseSensitive = true) |
|
|
|
@ -285,7 +285,7 @@ class ArrayHelper
|
|
|
|
|
if (is_scalar($descending)) { |
|
|
|
|
$descending = array_fill(0, $n, $descending); |
|
|
|
|
} elseif (count($descending) !== $n) { |
|
|
|
|
throw new InvalidParamException('The length of $ascending parameter must be the same as that of $keys.'); |
|
|
|
|
throw new InvalidParamException('The length of $descending parameter must be the same as that of $keys.'); |
|
|
|
|
} |
|
|
|
|
if (is_scalar($sortFlag)) { |
|
|
|
|
$sortFlag = array_fill(0, $n, $sortFlag); |
|
|
|
|