Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // dump array key -> value without noise
- function pprint($array) {
- echo "<pre style=\"background-color: #ddd;\">";
- print_r($array);
- echo "</pre>";
- }
- function randomString($length) {
- if (gettype($length) !== 'integer') {
- $length = 30;
- }
- $string = base64_encode(openssl_random_pseudo_bytes($length));
- return $string;
- }
- // [a] -> (a -> [b]) -> [b]
- function _flatMap($arr, callable $fn) {
- return array_merge([], ...array_map($fn, $arr));
- }
- function _flatMapK($arr, callable $fn) {
- return array_merge([], ...array_map($fn, array_keys($arr), $arr));
- }
- // re-arranging parameters on FP-style built-in functions
- // [a] -> (a -> b) -> [b]
- function _map($arr, callable $callback) {
- return array_map($callback, $arr);
- }
- // [v] -> (k -> v -> w) -> [w]
- function _mapK($arr, callable $callback) {
- return array_map($callback, array_keys($arr), $arr);
- }
- // [a] -> (a -> bool) -> [a]
- function _filter($arr, callable $callback) {
- return array_filter($arr, $callback);
- }
- // [v] -> (k -> v -> bool) -> [v]
- function _filterK($arr, callable $callback) {
- return array_filter($arr, $callback, ARRAY_FILTER_USE_BOTH);
- }
- // [a] -> b -> (b -> a -> b) -> [b]
- function _reduce($arr, $init, callable $callback) {
- return array_reduce($arr, $callback, $init);
- }
Add Comment
Please, Sign In to add comment