<?php
// https://gist.github.com/sobi3ch/5451004
/**
* Pluck an array of values from an array. (Only for PHP 5.3+)
*
* @param $array - data
* @param $key - value you want to pluck from array
* @param $preserveKeys - (default: false)
*
* @return plucked array only with key data
*/
function array_pluck($array, $key, $preserveKeys=false) {
$arr = array_map(function($v) use ($key) {
return is_object($v) ? $v->$key : $v[$key];
}, $array);
if ($preserveKeys) return $arr;
return array_values($arr);
}
function array_filter_by_keys($array, $keys) {
$out = array();
foreach ($keys as $key) {
if (isset($array[$key]) || array_key_exists($key, $array)) {
$out[$key] = $array[$key];
}
}
return $out;
}
/**
* Simple 2-dimensional flatten for arrays.
*/
function array_flatten($arr) {
$result = call_user_func_array('array_merge', array_map('array_values', $arr));
return $result;
}