AlexKondov

Sort Concerts

Aug 26th, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.58 KB | None | 0 0
  1. <?php
  2.     $input = ["ZZ Top | London | 2-Aug-2014 | Wembley Stadium",
  3.     "Iron Maiden | London | 28-Jul-2014 | Wembley Stadium",
  4.     "Metallica | Sofia | 11-Aug-2014 | Lokomotiv Stadium",
  5.     "Helloween | Sofia | 1-Nov-2014 | Vassil Levski Stadium",
  6.     "Iron Maiden | Sofia | 20-June-2015 | Vassil Levski Stadium",
  7.     "Helloween | Sofia | 30-July-2015 | Vassil Levski Stadium",
  8.     "Iron Maiden | Sofia | 26-Sep-2014 | Lokomotiv Stadium",
  9.     "Helloween | London | 28-Jul-2014 | Wembley Stadium",
  10.     "Twisted Sister | London | 30-Sep-2014 | Wembley Stadium",
  11.     "Metallica | London | 03-Oct-2014 | Olympic Stadium",
  12.     "Iron Maiden | Sofia | 11-Apr-2016 | Lokomotiv Stadium",
  13.     "Iron Maiden | Buenos Aires | 03-Mar-2014 | River Plate Stadium"];
  14.  
  15.     $concerts = [];
  16.  
  17.     for ($i=0; $i < count($input); $i++) {
  18.         $row = explode(" | ", $input[$i]);
  19.         for ($j=0; $j < count($row); $j++) {
  20.             if (isset($concerts[$row[1]])) {
  21.                 if (isset($concerts[$row[1]][$row[3]])) {
  22.                     if (in_array($row[0], $concerts[$row[1]][$row[3]])) {
  23.                         continue;
  24.                     }
  25.                     else {
  26.                         array_push($concerts[$row[1]][$row[3]], $row[0]);
  27.                     }
  28.                 }
  29.                 else {
  30.                     $concerts[$row[1]][$row[3]] = [];  
  31.                     array_push($concerts[$row[1]][$row[3]], $row[0]);
  32.                 }
  33.             }
  34.             else {
  35.                 $concerts[$row[1]] = [];
  36.                 $concerts[$row[1]][$row[3]] = [];
  37.                 array_push($concerts[$row[1]][$row[3]], $row[0]);
  38.             }
  39.         }
  40.     }
  41.     ksort($concerts);
  42.     foreach ($concerts as $key => $value) {
  43.         ksort($concerts[$key]);
  44.         foreach ($concerts[$key] as $inner => $value) {
  45.             sort($concerts[$key][$inner]);
  46.         }
  47.     }
  48.     echo json_encode($concerts);
  49. ?>
Advertisement
Add Comment
Please, Sign In to add comment