Merge pull request #648 from cviebrock/array-helpers

add array_except() and array_only(), mimicking Input::except() and Input::only() but for any array
This commit is contained in:
Taylor Otwell 2012-05-10 06:25:51 -07:00
commit cded744ac9
2 changed files with 27 additions and 3 deletions

View File

@ -245,6 +245,30 @@ function array_pluck($array, $key)
}, $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.
*

View File

@ -127,7 +127,7 @@ public static function json()
*/
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 @@ public static function only($keys)
*/
public static function except($keys)
{
return array_diff_key(static::get(), array_flip((array) $keys));
return array_except(static::get(), $keys);
}
/**