$array) { foreach ($array as $key => $item) { if (!isset($out[$key])) { $out[$key] = $empty; } $out[$key][$subkey] = $item; } } return $out; } /** * Sort array by given column. * @param array $array * @param string $column * @return void */ public static function sortByColumn(array &$array, string $column, int $sortFlags = SORT_REGULAR) { $sorter = array_column($array, $column); array_multisort($sorter, $sortFlags, $array); } /** * Check whether $array contains all keys given in $keyList * * @param array $array An array * @param array $keyList A list of strings which must all be valid keys in $array * @return boolean */ public static function hasAllKeys(array $array, array $keyList): bool { if (!is_array($array)) return false; foreach ($keyList as $key) { if (!isset($array[$key])) return false; } return true; } }