Jeffry: belibiges Arrayelemet löschen

Hallo,

möchte gerne aus meinem array ein beliebiges, definiertes Element einmal löschen:

$array = array("wer","ist","ist","das","macht","ist");

Aus diesem Array soll jetzt einmal "ist" gelöscht werden, als ergebnis soll das herauskommen:

$array = array("wer","ist","das","macht","ist");

oder das:

$array = array("wer","ist","ist","das","macht");

d.h. egal welches "ist", wichtig ist, das nur ein "ist" gelöscht wird.
Die Position des "ist" ist allerdings nicht immer die gleiche!!!

Hab schon soviel rumprobiert und gesucht ...

Wär schön, wenn mir jemand helfen könnte. Danke,

Jeffry

  1. Hi,

    hab ein ähnliches Prob:

    will aus einem Flatfile eine beliebige Zeile entfernen.
    Wobei der Zeileninhalt als Variable übergeben wird:

    Flatfile:
    will
    mir
    jemand
    helfen
    kann
    mir
    alleine
    nicht

    Nun soll ein (wichtig) 'mir', d.h. eine Zeile aus dem Faltfile gelöscht werden - der Rest soll aufrücken.

    Haste dafür eventuell ne Lösung?

    Gruß,
    Jenny

    1. Hallo,

      Nun soll ein (wichtig) 'mir', d.h. eine Zeile aus dem Faltfile gelöscht werden - der Rest soll aufrücken.

      Zeilen einlesen, am besten mit der Funktion file(), die gesuchte Zeile aus dem Array entfernen und die Datei neu (ueber)schreiben.

      MfG, Thomas

  2. Hallo,

    möchte gerne aus meinem array ein beliebiges, definiertes Element einmal löschen:

    $array = array("wer","ist","ist","das","macht","ist");

    Aus diesem Array soll jetzt einmal "ist" gelöscht werden, als ergebnis soll das herauskommen:

    $array = array("wer","ist","das","macht","ist");

    oder das:

    $array = array("wer","ist","ist","das","macht");

    d.h. egal welches "ist", wichtig ist, das nur ein "ist" gelöscht wird.

    Hiermit wird das erste Vorkommen von "ist" entfernt und das Array wieder fortlaufend indexiert:

    <?php

    $array = array("wer","ist","ist","das","macht","ist");

    print "vorher: ".implode(",",$array)."<br>";

    for($i=0;$i<count($array);$i++)
    {
      if($array[$i]=="ist")break;
    }

    unset($array[$i]); // Array-Element entfernen
    $array = array_values($array);  // fortlaufenden Index neu erstellen

    print "nachher: ".implode(",",$array);

    ?>

    vorher: wer,ist,ist,das,macht,ist
    nachher: wer,ist,das,macht,ist

    MfG, Thomas