Kaynağa Gözat

array map traversable

alexlcdee 7 yıl önce
ebeveyn
işleme
7c2b26cb45
1 değiştirilmiş dosya ile 26 ekleme ve 0 silme
  1. 26 0
      src/helpers/ArrayHelper.php

+ 26 - 0
src/helpers/ArrayHelper.php

@@ -7,6 +7,14 @@ use yiins\exceptions\InvalidValueException;
 
 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 array $array
@@ -27,6 +35,7 @@ class ArrayHelper
             }
             $result[key($callbackResult)] = $callbackResult[key($callbackResult)];
         }
+
         return $result;
     }
 
@@ -68,6 +77,7 @@ class ArrayHelper
                 $result[] = static::getValue($element, $name);
             }
         }
+
         return $result;
     }
 
@@ -192,6 +202,7 @@ class ArrayHelper
                 $result[$key] = $value;
             }
         }
+
         return $result;
     }
 
@@ -323,6 +334,7 @@ class ArrayHelper
             }
             unset($lastArray);
         }
+
         return $result;
     }
 
@@ -343,6 +355,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         usort($array, $callback);
+
         return $array;
     }
 
@@ -362,6 +375,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         uasort($array, $callback);
+
         return $array;
     }
 
@@ -388,6 +402,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         uksort($array, $callback);
+
         return $array;
     }
 
@@ -403,6 +418,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         shuffle($array);
+
         return $array;
     }
 
@@ -445,6 +461,7 @@ class ArrayHelper
             $array = clone $array;
         }
         array_walk($array, $callback, $userData);
+
         return $array;
     }
 
@@ -481,6 +498,7 @@ class ArrayHelper
             $array = clone $array;
         }
         array_walk_recursive($array, $callback, $userData);
+
         return $array;
     }
 
@@ -504,6 +522,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         sort($array, $sortFlags);
+
         return $array;
     }
 
@@ -524,6 +543,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         rsort($array, $sortFlags);
+
         return $array;
     }
 
@@ -544,6 +564,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         asort($array, $sortFlags);
+
         return $array;
     }
 
@@ -564,6 +585,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         arsort($array, $sortFlags);
+
         return $array;
     }
 
@@ -584,6 +606,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         ksort($array, $sortFlags);
+
         return $array;
     }
 
@@ -604,6 +627,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         krsort($array, $sortFlags);
+
         return $array;
     }
 
@@ -619,6 +643,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         natsort($array);
+
         return $array;
     }
 
@@ -634,6 +659,7 @@ class ArrayHelper
     {
         VariableHelper::initialize($array, []);
         natcasesort($array);
+
         return $array;
     }
 }