Commit cded744a authored by Taylor Otwell's avatar Taylor Otwell

Merge pull request #648 from cviebrock/array-helpers

add array_except() and array_only(), mimicking Input::except() and Input::only() but for any array
parents c0b9de27 4d98eaa8
...@@ -245,6 +245,30 @@ function array_pluck($array, $key) ...@@ -245,6 +245,30 @@ function array_pluck($array, $key)
}, $array); }, $array);
} }
/**
* Get a subset of the items from the given array.
*
* @param array $array
* @param array $keys
* @return array
*/
function array_only($array, $keys)
{
return array_intersect_key( $array, array_flip((array) $keys) );
}
/**
* Get all of the given array except for a specified array of items.
*
* @param array $array
* @param array $keys
* @return array
*/
function array_except($array, $keys)
{
return array_diff_key( $array, array_flip((array) $keys) );
}
/** /**
* Transform Eloquent models to a JSON object. * Transform Eloquent models to a JSON object.
* *
......
...@@ -127,7 +127,7 @@ class Input { ...@@ -127,7 +127,7 @@ class Input {
*/ */
public static function only($keys) public static function only($keys)
{ {
return array_intersect_key(static::get(), array_flip((array) $keys)); return array_only(static::get(), $keys);
} }
/** /**
...@@ -146,7 +146,7 @@ class Input { ...@@ -146,7 +146,7 @@ class Input {
*/ */
public static function except($keys) public static function except($keys)
{ {
return array_diff_key(static::get(), array_flip((array) $keys)); return array_except(static::get(), $keys);
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment