AviEzerzer

Untitled

Mar 28th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.34 KB | None | 0 0
  1. <?php
  2.  
  3. //grab csv data;
  4. $csv_file = file_get_contents('array.csv');
  5. $lines = explode(PHP_EOL, $csv_file);
  6.  
  7. //parse into array of lines as arrays
  8. $parsed_csv = array();
  9. foreach ($lines as $line) {
  10.     $parsed_csv[] = str_getcsv($line);
  11. }
  12.  
  13. unset($parsed_csv[0]);
  14. //init for recursion stuff
  15. $reduced_parsed_csv = array();
  16.  
  17. prettyPrintR(
  18.     buildTree($parsed_csv, $reduced_parsed_csv, 1)
  19. );
  20.  
  21. /*** */
  22.  
  23. function buildTree(array $array, array $reduced_array, $num)
  24. {
  25.  
  26.     $parent_id = $array[$num][1];
  27.     $id = $array[$num][0];
  28.     $date = $array[$num][2];
  29.     // prettyPrintR(array($num, count($array), $parent_id));
  30.     // prettyPrintR(array("iteraraton $num:", $reduced_array));
  31.  
  32.     if ($parent_id == "0") {
  33.         $initLv1 = $array[$num + 1][1];
  34.         $reduced_array[$initLv1]["date"] = $date;
  35.         $num = $num + 1;
  36.         return buildTree($array, $reduced_array, $num);
  37.     }
  38.  
  39.     if (!array_key_exists("dates", $reduced_array[$parent_id])) {
  40.         $reduced_array[$parent_id]["dates"] = array();
  41.     }
  42.     $reduced_array[$parent_id]["dates"][$id] = $date;
  43.  
  44.     if ($num < (count($array) - 1)) {
  45.         $num = $num + 1;
  46.         return buildTree($array, $reduced_array, $num);
  47.     }
  48.     return $reduced_array;
  49. }
  50.  
  51. /** */
  52. function prettyPrintR($param)
  53. {
  54.     print("<pre>" . print_r($param, true) . "</pre><hr>");
  55. }
Advertisement
Add Comment
Please, Sign In to add comment