• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

gleiche einträge in 2 arrays löschen

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
hi leute,
ich habe schonwieder :roll: ein frage :wink:

naja ich habe natürlich schon ausprobiert und gegoogelt aber bei meinen scripten kommpt für meine simple aufgabe immer ein riesiger code heraus.

Ich habe 2 Arrays
$vorher
$nachher


nun die eigentliche frage:
In beiden Arrays sind zum teil gleiche werte (es sind namen in den arrays gespeichert).
Ich möchte nun alle namen die in $nachher und $vorher gleich sind löschen.
Anschließend möchte ich alle namen die in $vorher übrig sind ausgeben.

Beispiel:
PHP:
$vorher = array('Hans','Klaus','Dieter','Max');
$nachher = array ('Hans','Dieter');
Jetzt sollte folgendes ergebnis entstehen
PHP:
$vorher = array('Klaus','Max');
 
Zuletzt bearbeitet:
So in der art ?

PHP:
<?php

    $vorher        = array('Hans','Klaus','Dieter','Max');
    $nachher     = array ('Hans','Dieter');
    
    foreach($vorher as $key => $what) {
        
        if(!(in_array($what, $nachher))) {
            echo $what.",";
        }
        
    }
    
?>
sry habs net testen können
 
Das löscht aber nicht.

Da muss man ein bisschen tricksen:
PHP:
<?php

$vorher = array('Hans','Klaus','Dieter','Max');
$nachher = array ('Hans','Dieter');

$vorher = check($vorher, $nachher);

function check($vorher, $nachher)
{
    $result = array();
    foreach ($vorher as $wert)
    {
        if (!in_array($wert, $nachher))
        {
            $result[] = $wert;
        }
    }
    return $result;
}

?>
 
ja ich habe bei boehseronkel's variante einfach statt echo() das immer in ein neues array geschrieben

Aber trotzdem danke für deine lösung
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben