Array aufteilen - key ist bekannt, wie die Position ermitteln

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

  • Array aufteilen - key ist bekannt, wie die Position ermitteln

    Hi,

    ich habe ich mehrdimensionales Array mit keys (P-Key aus DB) und möchte das gerne dreiteilen. Ich habe den key des Eintrag wo das Array geteilt werden soll ... einfaches Beispiel:
    PHP-Code:
    Array
    (
        [
    1] => Array
            (
                [
    id] => 1
                
    [bez] => Gummibärchen
                
    [wert] => 12 Tüten
            
    )

        [
    2] => Array
            (
                [
    id] => 2
                
    [bez] => Gelee-Bananen
                
    [wert] => 2 Kilo
            
    )

        [
    3] => Array
            (
                [
    id] => 3
                
    [bez] => Eis
                
    [wert] => 1 Liter
            
    )

        [
    4] => Array
            (
                [
    id] => 4
                
    [bez] => Alkohol
                
    [wert] => 4,5 Liter
            
    )

        [
    5] => Array
            (
                [
    id] => 5
                
    [bez] => Pizza
                
    [wert] => 8 Rizzengroß
            
    )


    Jetzt möchte ich gerne bei Nr.4 trennen. Dazu würde ich jetzt die Funktionen array_slice bzw. array_splice verwenden. Aber wie kann ich die Position ermittel ? Im obigen Beispiel müsste ich ja
    PHP-Code:
    array_slice($data,0,3
    angeben - aber wie ermittel ich die 3 anhand des Array-Keys?

    Versteht ihre was ich meine - und könnt ihr mir helfen?
    Vielen Dank im voraus.

  • #2
    wie wärs den mit array_chunk() ?
    Kissolino.com

    Kommentar


    • #3
      Vorab: Warum speicherst du die ID doppelt? Warum nicht
      PHP-Code:
      Array
      (
          [
      1] => Array
              (
                  [
      bez] => Gummibärchen
                  
      [wert] => 12 Tüten
              
      )
          ...

      ?

      Und sehe ich das richtig, die Stelle, an der geteilt werden soll, hängt von der ID ab? Also es geht nicht darum, das Array in gleich große Teile zu zerlegen sondern alle Einträge vor ID 4 in ein neues Array A und alle danach in B zu packen?
      Da würde ich einfach mit einer Schleife durchgehen, foreach() zum Beispiel.

      Kommentar


      • #4
        Hi,

        habe mir jetzt auch die Usercomments auf php.net zu array_chunk und array_slice / splice angesehen. Es scheint keine Funktion zu geben, die ein Array nach dem Key trennen kann - viele User haben sich da selber weitergeholfen - mit einer Schleife.

        Werde ich dann wohl auch so angehen müssen - zur Struktur der Daten: die bekomme ich so, habe ich keinen Einfluss drauf ...

        Danke für eure Hilfe!

        Kommentar

        Lädt...
        X