| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- if (! function_exists('arrayReduceToOneColumn')) {
- function arrayReduceToOneColumn($array, $column_key) {
- return array_map(function($row) use ($column_key) {
- if (is_callable($column_key)) {
- return $column_key($row);
- } else {
- return $row[$column_key];
- }
- }, $array);
- }
- }
- if (! function_exists('arrayAddKeyFromColumn')) {
- function arrayAddKeyFromColumn($array, $column_key) {
- $results = array();
- foreach ($array as $row) {
- if (is_callable($column_key)) {
- $key = $column_key($row);
- } else if (is_array($column_key)) {
- $key_parts = [];
- foreach ($column_key as $column_key_item) {
- $key_parts[] = $row[$column_key_item];
- }
- $key = implode('-', $key_parts);
- }else{
- $key = $row[$column_key];
- }
- $results[$key] = $row;
- }
- if (empty($results)) {
- //return new stdClass();
- }
- return $results;
- }
- }
- if (! function_exists('arrayGroupByColumn')) {
- function arrayGroupByColumn($array, $column_key) {
- $results = array();
- foreach ($array as $k => $v) {
- if (is_callable($column_key)) {
- $key_value = $column_key($v);
- } else {
- $key_value = $v[$column_key];
-
- }
- if (! isset($results[$key_value])) {
- $results[$key_value] = array();
- }
- $results[$key_value][$k] = $v;
- }
- return $results;
- }
- }
- if (! function_exists('get_csv')) {
- function get_csv($arr, $fields=array(), $sep=";") {
- $str = '';
- if (! empty($arr)) {
- if (empty($fields)) {
- $fields = array_keys($arr[0]);
- }
- $line = array();
- foreach ($fields as $k => $v) {
- if (! is_numeric($k)) {
- $line[] = $k;
- } else {
- $line[] = $v;
- }
- }
- $str .= implode($sep, $line) . PHP_EOL;
- foreach ($arr as $row) {
- $line = array();
- foreach ($fields as $field) {
- $line[] = $row[$field];
- }
- //$str .= implode($sep, $line) . PHP_EOL;
- //$str .= '"' . implode('"' . $sep . '"', str_replace('"', '\\"', $line)) . '"' . PHP_EOL;
- $str .= '"' . implode('"' . $sep . '"', str_replace('"', '""', $line)) . '"' . PHP_EOL;
- }
- }
- return $str;
- }
- }
|