From b546bddd90f09aa232e17ff7dee3a15385077906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Rafael=20Siqueira?= Date: Fri, 4 Nov 2016 17:52:47 -0200 Subject: [PATCH 1/2] Remove function with side-effect at append and prepend --- src/Methods/ArraysMethods.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Methods/ArraysMethods.php b/src/Methods/ArraysMethods.php index b75f5f8..cda2cda 100644 --- a/src/Methods/ArraysMethods.php +++ b/src/Methods/ArraysMethods.php @@ -551,9 +551,7 @@ public static function removeValue($array, $value) */ public static function prepend($array, $value) { - array_unshift($array, $value); - - return $array; + return array_merge([$value], $array); } /** @@ -561,9 +559,7 @@ public static function prepend($array, $value) */ public static function append($array, $value) { - array_push($array, $value); - - return $array; + return array_merge($array, [$value]); } /* From 5385eb437ea4247bb4bbe381acdfd59e5eae0855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Rafael=20Siqueira?= Date: Fri, 4 Nov 2016 17:55:22 -0200 Subject: [PATCH 2/2] Remove function with side-effect in removeFirst and removeLast --- src/Methods/ArraysMethods.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Methods/ArraysMethods.php b/src/Methods/ArraysMethods.php index cda2cda..937be0a 100644 --- a/src/Methods/ArraysMethods.php +++ b/src/Methods/ArraysMethods.php @@ -505,9 +505,7 @@ public static function reject($array, Closure $closure) */ public static function removeFirst($array) { - array_shift($array); - - return $array; + return array_slice($array, 1); } /** @@ -515,9 +513,7 @@ public static function removeFirst($array) */ public static function removeLast($array) { - array_pop($array); - - return $array; + return array_slice($array, 0, -1); } /**