From e5823edae0f311cdd3cac27c608fa6166df5175d Mon Sep 17 00:00:00 2001 From: Andrey Kutejko Date: Wed, 31 Dec 2014 11:47:01 +0200 Subject: [PATCH] remove array fluent api --- src/array.php | 88 ++++++--------------------------------------------- 1 file changed, 9 insertions(+), 79 deletions(-) diff --git a/src/array.php b/src/array.php index f2f38f7..39e03e3 100644 --- a/src/array.php +++ b/src/array.php @@ -2,86 +2,8 @@ namespace PFF; -use \PFF\Symbol as S; - -final class Arr implements \ArrayAccess +final class Arr { - private $arr; - - public function __construct($arr) - { - $this->arr = $arr; - } - - public static function create($arr) - { - return new self($arr); - } - - public function arr() - { - return $this->arr; - } - - public function map(/* $func, ... $args */) - { - $args = func_get_args(); - $func = array_unshift($args); - $pos = array_search(S::_(), $args, true); - if (!$pos) - $pos = 0; - - $result = array(); - foreach ($this->arr as $item) { - $args[$pos] = $item; - $result[] = call_user_func_array($func, $args); - } - - return new self($result); - } - - public function pluck($key) - { - $result = array(); - foreach ($this->arr as $item) - $result[] = is_object($item) ? $item->$key : $item[$key]; - return new self($result); - } - - /* strings */ - - public function join($separator) - { - return implode($separator, $this->arr); - } - - /* ArrayAccess */ - - public function offsetSet($offset, $value) - { - if (is_null($offset)) - $this->arr[] = $value; - else - $this->arr[$offset] = $value; - } - - public function offsetExists($offset) - { - return isset($this->arr[$offset]); - } - - public function offsetUnset($offset) - { - unset($this->arr[$offset]); - } - - public function offsetGet($offset) - { - return isset($this->arr[$offset]) ? $this->arr[$offset] : null; - } - - /* */ - public static function get($array, $key, $default=null) { if (array_key_exists($key, $array)) @@ -123,5 +45,13 @@ final class Arr implements \ArrayAccess }); return $result; } + + public static function pluck($array, $key) + { + $result = array(); + foreach ($array as $item) + $result[] = is_object($item) ? $item->$key : $item[$key]; + return $result; + } } -- 2.49.0