Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 6 von 6
  1. #1
    Stammgast
    Registriert seit
    31.10.2007
    Beiträge
    180

    Standard 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. #2
    Forenheld
    Registriert seit
    26.02.2003
    Beiträge
    16.260

    Standard

    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

  3. #3
    Stammgast
    Registriert seit
    31.10.2007
    Beiträge
    180

    Standard

    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].

  4. #4

  5. #5
    Stammgast
    Registriert seit
    18.07.2008
    Beiträge
    3.049

    Standard

    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

  6. #6
    Stammgast
    Registriert seit
    03.03.2007
    Ort
    Schleswig-Holstein
    Beiträge
    330

    Standard

    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

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •