Avatar billede doomstone-dk- Nybegynder
18. januar 2003 - 12:56 Der er 2 kommentarer og
2 løsninger

split et array op!

Jeg har dette array som giver mig en quake2 server status!

Men jeg skal have splittet det op!
de første 39 arrays er server stats, som skal være i et array for sig selv!
og der efter skal den splittes op ved hvær 7'ne array!
Altser dette skal være i et array for sig selv!
0
    [39] => DoomStone
    [40] => 0
    [41] => -1
    [42] => Blue
    [43] => Blue
    [44] => 68
    [45] =>

hvordan kan jeg gøre det?


Array
(
    [0] => QWS
    [1] => 193.163.220.187:27935
    [2] => (=GNU=) Public Server
    [3] => urban
    [4] => 14
    [5] => 4
    [6] => 30
    [7] => 0
use_classic=0
    [8] => t3=0
    [9] => t2=1
    [10] => t1=1
    [11] => matchmode=0
    [12] => use_cvote=0
    [13] => ctf=0
    [14] => use_mapvote=1
    [15] => use_3teams=0
    [16] => use_tourney=0
    [17] => actionversion=1.52 TNG 2.71
    [18] => needpass=0
    [19] => capturelimit=0
    [20] => gamedate=Apr 11 2002
    [21] => gamename=action
    [22] => tgren=0
    [23] => roundtimelimit=20
    [24] => roundlimit=0
    [25] => allitem=0
    [26] => allweapon=0
    [27] => items=1
    [28] => weapons=1
    [29] => protocol=34
    [30] => cheats=0
    [31] => timelimit=20
    [32] => fraglimit=0
    [33] => dmflags=768
    [34] => deathmatch=1
    [35] => version=3.20 i386 Oct 14 1998 Linux
    [36] => gamedir=action
    [37] => teamplay=1
    [38] => game=action
0
    [39] => DoomStone
    [40] => 0
    [41] => -1
    [42] => Blue
    [43] => Blue
    [44] => 68
    [45] =>
0
    [46] => SushiXpress
    [47] => 1
    [48] => -1
    [49] => Blue
    [50] => Blue
    [51] => 82
    [52] =>
0
    [53] => [DIO]Stilgar
    [54] => 1
    [55] => -1
    [56] => Blue
    [57] => Blue
    [58] => 44
    [59] =>
0
    [60] => DINMOR
    [61] => 0
    [62] => -1
    [63] => Blue
    [64] => Blue
    [65] => 34
    [66] =>


)
Avatar billede tipsen Nybegynder
18. januar 2003 - 13:04 #1
http://dk.php.net/manual/en/ref.array.php

For at få de første 39:

$originalarray = ...; //dit originale array med alle elementer.

//pil de første 39 elementer ud af originalarrayet
$serverstats = array_slice($originalarray, 0, 39);
//opdel elementerne fra nr. 39 i blokke med størrelse 7
$spillerstats = array_chunk(array_slice($originalarray, 39), 7);

print_r($serverstats);
print_r($spillerstats);
Avatar billede tipsen Nybegynder
18. januar 2003 - 13:04 #2
Teksten "For at få de første 39:" skulle være slettet...
Avatar billede jakoba Nybegynder
18. januar 2003 - 13:09 #3
benyt funktionen array_splice http://dk.php.net/manual/en/function.array-splice.php

fx:

$brugere = array();
while ( count( $dit_lange_array ) > 39 ) {
    $brugere[] = array_splice( $dit_lange_array, 39, 7 );
}

// tilslut vil $dit_lange_array indeholde de 39 første celler
// og $brugere være et 2D array med data for een bruger i hver celle

mvh JakobA
Avatar billede doomstone-dk- Nybegynder
18. januar 2003 - 13:10 #4
Jeg siger tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester