Days of the week are given:

Array ( [0] => Array ( [13:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [15:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [17:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [19:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ [21:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [23:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [01:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [03:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ [05:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [07:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [09:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [11:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ ) [1] => Array ( [13:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [13:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [15:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [17:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [19:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ [21:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [21:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [23:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [01:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [03:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ [05:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [05:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [07:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [09:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [11:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ ) [2] => Array ( [13:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [13:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [15:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [17:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [19:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ [21:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [21:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [23:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [01:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [03:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ [05:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [05:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [07:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [09:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [11:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ ... 

It is necessary to make a continuity (which I just did not try, nothing helps):

 Array ( [13:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [15:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [17:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [19:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ [21:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [23:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [01:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [03:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ [05:00] => "Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+ [07:35] => "Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+ [09:35] => "ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+ [11:20] => "ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+ [13:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [13:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [15:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [17:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [19:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ [21:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [21:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [23:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [01:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [03:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ [05:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [05:55] => "ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+ [07:55] => "Моя большая грСчСская свадьба 2" ΠœΠ΅Π»ΠΎΠ΄Ρ€Π°ΠΌΠ° 12+ [09:30] => "Коко ШанСль ΠΈ Π˜Π³ΠΎΡ€ΡŒ Бтравинский" Π”Ρ€Π°ΠΌΠ° 16+ [11:30] => "Π›ΠΎΠΆΠ½Ρ‹Π΅ признания" Π”Ρ€Π°ΠΌΠ° 12+ [13:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [13:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [15:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [17:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [19:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ [21:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [21:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [23:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [01:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [03:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ [05:00] => "Василиса" Π”Ρ€Π°ΠΌΠ° 12+ [05:55] => "Π‘ΡƒΠΏΠ΅Ρ€ΠΌΠΎΠ·Π³" КомСдия 12+ [07:50] => "Π’Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ сомнСния" Π’Ρ€ΠΈΠ»Π»Π΅Ρ€ 16+ [09:40] => "Π’ΡƒΠ»ΠΊΠ°Π½ страстСй" КомСдия 12+ [11:15] => "Доля Π°Π½Π³Π΅Π»ΠΎΠ²" КомСдия 16+ 

Thank!

  • And what to do with duplicate keys? - Grulex
  • one
    array_merge(...$data) but matching keys will be replaced. - teran
  • This is the problem - everything needs to be left unchanged, as if to add the second, then the third, etc. to the first element. So that nothing is lost. Array_merge does not help - forever_young
  • that is to connect the lines? Give an example of the value for the key 13:00 - teran
  • 2
    Duplicate keys can not be - Grulex

2 answers 2

Check online: https://3v4l.org/U5dib

 <?php function channels_flatten(array $channels): array { $result = []; foreach ($channels as $channel) { foreach ($channel as $time => $show) { $result[$time][] = $show; } } ksort($result); return $result; } $input = [ [ '13:00' => '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+', '15:35' => '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+', '07:00' => '"ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+', ], [ '13:00' => '"Василиса" Π”Ρ€Π°ΠΌΠ° 12+', '07:00' => '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+', '15:35' => '"ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+', ] ]; var_export(channels_flatten($input)); 

Result:

 array ( '07:00' => array ( 0 => '"ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+', 1 => '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+', ), '13:00' => array ( 0 => '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+', 1 => '"Василиса" Π”Ρ€Π°ΠΌΠ° 12+', ), '15:35' => array ( 0 => '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+', 1 => '"ΠšΠ°ΠΏΠΈΡ‚Π°Π½ Ѐантастик" Π”Ρ€Π°ΠΌΠ° 12+', ), ) 

    I suppose you need to sort the array by keys. Then the solution will look like this:

     // $array - ваш массив $array = array_map(function($a){ ksort($a); return $a; }, $array); var_dump($array); 

    As a result, you will get an array:

     array (size=3) 0 => array (size=11) '01:35' => string '"ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+' (length=69) '03:20' => string '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+' (length=48) '05:00' => string '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+' (length=33) '07:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) '09:35' => string '"ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+' (length=69) '11:20' => string '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+' (length=48) '13:00' => string '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+' (length=33) '15:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) '17:35' => string '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+' (length=48) '21:00' => string '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+' (length=33) '23:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) И Ρ‚.Π΄. 

    If you need a time limit, then in addition to sorting you need some kind of comparison:

     // $array - ваш массив const TIME = '07:00'; // ВрСмя Π½Π°Ρ‡Π°Π»Π° Ρ‚Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ $array = array_map(function($temp){ array_walk($temp, function($name, $time) use(&$arr){ $time <= TIME ?: $arr[$time] = $name; }); ksort($arr); return $arr; }, $array); var_dump($array); 

    Result:

     array (size=3) 0 => array (size=8) '07:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) '09:35' => string '"ΠœΠΈΡΡ‚Π΅Ρ€ Π¨Ρ‚Π°ΠΉΠ½ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½" КомСдия 16+' (length=69) '11:20' => string '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+' (length=48) '13:00' => string '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+' (length=33) '15:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) '17:35' => string '"ПослСдний ΠΊΠΎΡ€ΠΎΠ»ΡŒ" Π”Ρ€Π°ΠΌΠ° 16+' (length=48) '21:00' => string '"Ѐранциск" Π”Ρ€Π°ΠΌΠ° 16+' (length=33) '23:35' => string '"Π’Ρ‹ Π½Π΅ оставитС мСня" Π”Ρ€Π°ΠΌΠ° 16+' (length=52) И Ρ‚.Π΄.