Announcement

Collapse
No announcement yet.

Einträge mit einem bestimmten Wert in einem Array löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Einträge mit einem bestimmten Wert in einem Array löschen

    Hallo zusammen,

    ich muss aus einen Array bestimmte Einträge löschen bei denen der Key einen bestimmten Wert hat.

    Das Array sieht so aus:

    PHP Code:
    Array
    (
        [
    0] => Array
            (
                [
    HerstID] => 500029
                
    [Weight] => 10.20
                
    [SKU] => 10106610
                
    [ADR] => 0
                
    [LQ] => 0
                
    [LAENGE] => 0
            
    )

        [
    1] => Array
            (
                [
    HerstID] => 500029
                
    [Weight] => 10.20
                
    [SKU] => 10106610
                
    [ADR] => 0
                
    [LQ] => 0
                
    [LAENGE] => 0
            
    )

        [
    2] => Array
            (
                [
    HerstID] => 500015
                
    [Weight] => 9.80
                
    [SKU] => 10107085
                
    [ADR] => 0
                
    [LQ] => 0
                
    [LAENGE] => 0
            
    )

        [
    3] => Array
            (
                [
    HerstID] => 500015
                
    [Weight] => 9.80
                
    [SKU] => 10107085
                
    [ADR] => 0
                
    [LQ] => 0
                
    [LAENGE] => 0
            
    )

        [
    4] => Array
            (
                [
    HerstID] => 500015
                
    [Weight] => 9.80
                
    [SKU] => 10107085
                
    [ADR] => 0
                
    [LQ] => 0
                
    [LAENGE] => 0
            
    )


    Wie kann ich einfach alle Arrays löschen in denen der Key [HerstID] den Wert 500015 hat?

    Danke

  • #2
    Das hat wie die letzte Frage auch nichts mit Datenbanken zu tun -> verschoben
    http://php.net/manual/de/function.unset.php
    https://stackoverflow.com/questions/...et-array-value
    Christian

    Comment


    • #3
      Hallo Christian,

      mit den Beispielen komme ich nicht so richtig klar. Die beziehen sich auf eindimensionale Arrays.
      Ich muss ja in einem mehrdimensionalen Array alle Array löschen in denen der Key z.B. 500015 ist
      In dem Beispiel oben wären es [2], [3], [4].

      Comment


      • #4
        https://stackoverflow.com/questions/...ensional-array
        Christian

        Comment


        • #5
          Normalerweise verändert man nicht unbedingt bestehende Arrays, sondern erzeugt einfach ein neues, was nur noch die Elemente enthält die Du haben möchtest. Einmal drüber laufen und alle Elemente rausholen die Du haben willst. Ich weiss aber nicht wie PHP das speichermäßig verträgt und wie groß Dein Array ist

          Comment


          • #6
            Du hast die Möglichkeit, das Array über eine Schleife zu durchlaufen und jeden Wert zu prüfen oder Du nutzt die Array-Funktionen von PHP dazu, bspw. array_filter():
            PHP Code:
            $iId2Remove 500015;

            $aArrayFiltered array_filter(
                    
            $aArraySource // <-- Dein Ausgangs-Array
                    
            , function ( $data ) use ( $iId2Remove ) {
                        return (integer)
            $data['HerstID'] != (integer)$iId2Remove;
                    }
                ); 
            PHP rocks!
            Eine Initiative der PHP Community

            Comment

            Working...
            X