|
@@ -7,6 +7,14 @@ use yiins\exceptions\InvalidValueException;
|
|
|
|
|
|
|
|
class ArrayHelper
|
|
class ArrayHelper
|
|
|
{
|
|
{
|
|
|
|
|
+ public function mapTraversable(callable $callback, \Traversable $array)
|
|
|
|
|
+ {
|
|
|
|
|
+ $result = [];
|
|
|
|
|
+ foreach ($array as $value) {
|
|
|
|
|
+ $result[] = $callback($array);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @param callable $callback must accept one argument - array item and return null or array containing key=>value pair for resulting array
|
|
* @param callable $callback must accept one argument - array item and return null or array containing key=>value pair for resulting array
|
|
|
* @param array $array
|
|
* @param array $array
|
|
@@ -27,6 +35,7 @@ class ArrayHelper
|
|
|
}
|
|
}
|
|
|
$result[key($callbackResult)] = $callbackResult[key($callbackResult)];
|
|
$result[key($callbackResult)] = $callbackResult[key($callbackResult)];
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -68,6 +77,7 @@ class ArrayHelper
|
|
|
$result[] = static::getValue($element, $name);
|
|
$result[] = static::getValue($element, $name);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -192,6 +202,7 @@ class ArrayHelper
|
|
|
$result[$key] = $value;
|
|
$result[$key] = $value;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -323,6 +334,7 @@ class ArrayHelper
|
|
|
}
|
|
}
|
|
|
unset($lastArray);
|
|
unset($lastArray);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -343,6 +355,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
usort($array, $callback);
|
|
usort($array, $callback);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -362,6 +375,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
uasort($array, $callback);
|
|
uasort($array, $callback);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -388,6 +402,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
uksort($array, $callback);
|
|
uksort($array, $callback);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -403,6 +418,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
shuffle($array);
|
|
shuffle($array);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -445,6 +461,7 @@ class ArrayHelper
|
|
|
$array = clone $array;
|
|
$array = clone $array;
|
|
|
}
|
|
}
|
|
|
array_walk($array, $callback, $userData);
|
|
array_walk($array, $callback, $userData);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -481,6 +498,7 @@ class ArrayHelper
|
|
|
$array = clone $array;
|
|
$array = clone $array;
|
|
|
}
|
|
}
|
|
|
array_walk_recursive($array, $callback, $userData);
|
|
array_walk_recursive($array, $callback, $userData);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -504,6 +522,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
sort($array, $sortFlags);
|
|
sort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -524,6 +543,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
rsort($array, $sortFlags);
|
|
rsort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -544,6 +564,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
asort($array, $sortFlags);
|
|
asort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -564,6 +585,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
arsort($array, $sortFlags);
|
|
arsort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -584,6 +606,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
ksort($array, $sortFlags);
|
|
ksort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -604,6 +627,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
krsort($array, $sortFlags);
|
|
krsort($array, $sortFlags);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -619,6 +643,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
natsort($array);
|
|
natsort($array);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -634,6 +659,7 @@ class ArrayHelper
|
|
|
{
|
|
{
|
|
|
VariableHelper::initialize($array, []);
|
|
VariableHelper::initialize($array, []);
|
|
|
natcasesort($array);
|
|
natcasesort($array);
|
|
|
|
|
+
|
|
|
return $array;
|
|
return $array;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|