2016-04-09 17 views
0

ben çok boyutlu diziler PHP yeni duyuyorum, Ben cevap lütfen çalışan% 100 ihtiyaç ...(hayır endeksine zaman damgası temelinde. 6)

Muli-sort ve usort işlevini kullanarak denedim ama onlar benim için çalışmazlardı, dürüstçe çok boyutlu diziler durumunda bunları nasıl kullanacağımı bilmiyordum! Benim durumumda

(nasıl çoklu tür uygulayan ediyorum), sadece ilk günkü dizi sıralama edilir

Array ( 
    [0] => Array ( 
     [0] => Array ( 
      [0] => Cycling 
      [1] => 03:30 PM-04:00 PM 
      [2] => Criterium International 
      [3] => 0.5 
      [4] => SN1 
      [5] => 100 
      [6] => 1459524600 
     ) 
     [1] => Array ( 
      [0] => Rugby 
      [1] => 03:00 PM-05:15 PM 
      [2] => Super League Rugby - Wolves v Warriors 
      [3] => 2.25 
      [4] => SNOverflow 
      [5] => 100 
      [6] => 1459522800 
     ) 
     [2] => Array (
      [0] => Rugby 
      [1] => 05:00am-07:30 AM 
      [2] => National Rugby League Titans vs Broncos 
      [3] => 2.5 
      [4] => SNWorld 
      [5] => 100 
      [6] => 1459485000 
     ) 
    ) 
    [1] => Array ( 
     [0] => Array ( 
      [0] => Rugby 
      [1] => 09:45 AM-12:00 PM 
      [2] => Super League Rugby - Red Devils v E 
      [3] => 2.25 
      [4] => SNOverflow 
      [5] => 100 
      [6] => 1459590300 
     ) 
     [1] => Array (
      [0] => Rugby 
      [1] => 12:00 PM-02:00 PM 
      [2] => Super League Rugby - Vikings v Dragons 
      [3] => 2 
      [4] => SNOverflow 
      [5] => 100 
      [6] => 1459598400 
     ) 
     [2] => Array (
      [0] => BPL Soccer 
      [1] => 07:30 AM-09:45 AM 
      [2] => Aston Villa v Chelsea 
      [3] => 2.25 
      [4] => SNRegions 
      [5] => 100 
      [6] => 1459582200 
     ) 
    ) 
    [2] => Array (
     [0] => Array ( 
      [0] => The Wheel Highlights 
      [1] => 11:00 PM-12:30 AM 
      [2] => 
      [3] => 1.5 
      [4] => Sportsnet 360 
      [5] => 100 
      [6] => 1459724400 
     ) 
     [1] => Array (
      [0] => The Wheel Highlights 
      [1] => 10:00 PM-11:00 PM 
      [2] => 
      [3] => 1 
      [4] => Sportsnet 360 
      [5] => 100 
      [6] => 1459720800 
     ) 
     [2] => Array (
      [0] => CHL Hockey 
      [1] => 06:00 PM-09:00 PM 
      [2] => Brandon @ Edmonton 
      [3] => 3 
      [4] => Sportsnet 360 
      [5] => 100 
      [6] => 1459706400 
     ) 
    ) 
) 

Benim İstenen çıkış şu şekildedir:

Array ( 
     [0] => Array ( 
      [0] => Array ( 
       [0] => Rugby 
       [1] => 05:00am-07:30 AM 
       [2] => National Rugby League Titans vs Broncos 
       [3] => 2.5 
       [4] => SNWorld 
       [5] => 100 
       [6] => 1459485000 
      ) 
      [1] => Array ( 
       [0] => Rugby 
       [1] => 03:00 PM-05:15 PM 
       [2] => Super League Rugby - Wolves v Warriors 
       [3] => 2.25 
       [4] => SNOverflow 
       [5] => 100 
       [6] => 1459522800 
      ) 
      [2] => Array (
       [0] => Cycling 
       [1] => 03:30 PM-04:00 PM 
       [2] => Criterium International 
       [3] => 0.5 
       [4] => SN1 
       [5] => 100 
       [6] => 1459524600 
      ) 
     ) 
     [1] => Array ( 
      [0] => Array ( 
       [0] => BPL Soccer 
       [1] => 07:30 AM-09:45 AM 
       [2] => Aston Villa v Chelsea 
       [3] => 2.25 
       [4] => SNRegions 
       [5] => 100 
       [6] => 1459582200 
      ) 
      [1] => Array (
       [0] => Rugby 
       [1] => 09:45 AM-12:00 PM 
       [2] => Super League Rugby - Red Devils v E 
       [3] => 2.25 
       [4] => SNOverflow 
       [5] => 100 
       [6] => 1459590300 
      ) 
      [2] => Array (
       [0] => Rugby 
       [1] => 12:00 PM-02:00 PM 
       [2] => Super League Rugby - Vikings v Dragons 
       [3] => 2 
       [4] => SNOverflow 
       [5] => 100 
       [6] => 1459598400 
      ) 
     ) 
     [2] => Array (
      [0] => Array ( 
       [0] => CHL Hockey 
       [1] => 06:00 PM-09:00 PM 
       [2] => Brandon @ Edmonton 
       [3] => 3 
       [4] => Sportsnet 360 
       [5] => 100 
       [6] => 1459706400 
      ) 
      [1] => Array (
       [0] => The Wheel Highlights 
       [1] => 10:00 PM-11:00 PM 
       [2] => 
       [3] => 1 
       [4] => Sportsnet 360 
       [5] => 100 
       [6] => 1459720800 
      ) 
      [2] => Array (
       [0] => The Wheel Highlights 
       [1] => 11:00 PM-12:30 AM 
       [2] => 
       [3] => 1.5 
       [4] => Sportsnet 360 
       [5] => 100 
       [6] => 1459724400 
      ) 
     ) 
    ) 
+0

Merhaba, Muzamil ve StackOverflow'a hoş geldiniz. Lütfen dikkatle “İyi bir soru nasıl sorulur?” (Http://stackoverflow.com/help/how-to-ask) ”okuyun. – fusion3k

+0

Üç seviyeniz var. İlk seviye el değmemiş mi? Aksi takdirde, istediğiniz çıktıyı gösterebilir misiniz? – fusion3k

+0

sizin için düzenlenmiştir ... –

cevap

0

Muhtemelen kod vardır çok düzeyli dizi nedeniyle başarısız oldu.

#     ↓ “&” means “by reference” 
foreach($array as &$sub) 
{ 
    usort ($sub, function($a, $b) { return $a[6] - $b[6]; }); 
} 

eval.in demo

: Aksi sıralama sonucu ana diziyi etkilemez, ilk düzeyde bir foreach gerçekleştirmek ve referans bunu işlemek zorunda her birinci seviyenin öğeleri sıralamak için
+0

6 endeksinde göre sıralamak için bir süper kahraman .... Sen benim gün kurtardı !!! Çok teşekkür ederim! :) –

+0

Birşey değil – fusion3k