Habari\Utils::array_map_field PHP Méthode

array_map_field() public static méthode

Given an array of arrays, return an array that contains the value of a particular common field Example: $a = array( array('foo'=>1, 'bar'=>2), array('foo'=>3, 'bar'=>4), ); $b = Utils::array_map_field($a, 'foo'); // $b = array(1, 3);
public static array_map_field ( Countable $array, string $field, string $key = null ) : array
$array Countable An array of arrays or objects with similar keys or properties
$field string The name of a common field within each array/object
$key string Optional field to use as the key in the result array
Résultat array An array of the values of the specified field within each array/object
    public static function array_map_field($array, $field, $key = null)
    {
        if (count($array) == 0) {
            return $array;
        }
        if (is_null($key)) {
            if ($array instanceof \ArrayObject) {
                $array = $array->getArrayCopy();
            }
            return array_map(function ($element) use($field) {
                return is_array($element) ? $element[$field] : (is_object($element) ? $element->{$field} : null);
            }, $array);
        } else {
            return array_combine(Utils::array_map_field($array, $key), Utils::array_map_field($array, $field));
        }
    }