Array teilweise mischen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array teilweise mischen?

    Hallo!

    Ich habe ein mehrdimensionales Array, von dem ich einen Teil mischen möchte. Ist sicher nicht so verständlich - daher hier das Array in einem kleinen Auszug:

    PHP-Code:
    Array
    (
        [
    punkrock] => Array
            (
                [
    ordner] => /www/mp3/punkrock/
                [
    pos] => 1
                
    [0] => /www/mp3/punkrock/-c Basket Case - Green Day.mp3
                
    [1] => /www/mp3/punkrock/-c Blurry Puddle of Mud.mp3
                
    [3] => /www/mp3/punkrock/-c Devil Me Millencolin.mp3
            
    )

        [
    heavy] => Array
            (
                [
    ordner] => /www/mp3/melodiccore/
                [
    pos] => 1
                
    [0] => /www/mp3/melodiccore/-c Mother Superior Good Riddance.mp3
                
    [1] => /www/mp3/melodiccore/-c Smooth Criminal Alien Antfarm.mp3
                
    [2] => /www/mp3/melodiccore/-c So Sad to Say The Mighty Mighty 
            
    )


    Die Zahlenbereiche ab [0] möchte ich nun "mischen". Die PHP-Funktion zum zufälligen Zugriff kann ich nicht benutzen, weil ich die Zahlen nacher gerne in einer Schleife durchlaufen möchte und vorher muss das Array gemischt sein. Ist das verständlich?
    Danke!!

  • #2
    wie soll gemischt werden ??

    willst du ne randomize funktion bauen ?

    solltest dann vielleicht so umbauen:

    PHP-Code:
    <?php
    Array
    (
        [
    punkrock] => Array
            (
                [
    ordner] => /www/mp3/punkrock/
                [
    pos] => 1
        
    [tracks] = Array
                    (
                        [
    0] => /www/mp3/punkrock/-c Basket Case - Green Day.mp3
                        
    [1] => /www/mp3/punkrock/-c Blurry Puddle of Mud.mp3
                        
    [3] => /www/mp3/punkrock/-c Devil Me Millencolin.mp3
                    
    )
            )
    ?>
    dann hast du auf jeden fall schonmal bequemeren zugriff auf die Daten...

    versuchs mal mit array_rand (manual)

    beispiel:
    $rand_keys = array_rand ($deinArray[punkrock][tracks], count($deinArray[punkrock][tracks]));

    sowas in der art sollte funktionieren!

    gruss

    Kommentar


    • #3
      Die Idee mit der zusätzlichen Dimension ist auf jeden Fall gut! Danke dafür. Dein Vorschlag zum Mischen funktioniert aber nicht so richtig... hier mal ein Vorher/Nacher-Vergleich, wie ich es mir vorstelle - gekürzt:

      Vorher:
      PHP-Code:
      Array
      (
          [
      punkrock] => Array
              (
                  [
      ordner] => /www/mp3/punkrock/
                  [
      pos] => 1
          
      [tracks] = Array
                      (
                          [
      0] => /www/mp3/punkrock/-c Basket Case - Green Day.mp3
                          
      [1] => /www/mp3/punkrock/-c Blurry Puddle of Mud.mp3
                          
      [3] => /www/mp3/punkrock/-c Devil Me Millencolin.mp3
                      
      )
              ) 
      Nachher:
      PHP-Code:
      Array
      (
          [
      punkrock] => Array
              (
                  [
      ordner] => /www/mp3/punkrock/
                  [
      pos] => 1
          
      [tracks] = Array
                      (
                          [
      0] => /www/mp3/punkrock/-c Blurry Puddle of Mud.mp3
                          
      [1] => /www/mp3/punkrock/-c Devil Me Millencolin.mp3
                          
      [3] => /www/mp3/punkrock/-c Basket Case - Green Day.mp3
                      
      )
              ) 

      Kommentar


      • #4
        mortalan hat dir doch gezeigt wie und seine variable $rand_keys sagt doch eigentlich schon deutlich aus, was da drin ist ..

        würde zb so aussehen:

        PHP-Code:
        Array
        (
            [
        0] => 1
            
        [1] => 3
            
        [2] => 0

        weiter wirst du doch selbst finden, oder ?
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar

        Lädt...
        X