php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.10.2008, 08:47  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 3
abrakab befindet sich auf einem aufstrebenden Ast
Standard Zeile aus Array löschen

Hi,
ich suche schon seit Tagen nach einer Lösung - auch Herr Google konnte mir nicht helfen.
Ich habe eine Textdatei geschrieben (Name und ID) die folgendermaßen aussieht:
Müller; 12584;
Meier; 45187;
Schmitt; 45784;
Jetzt habe ich alle Daten in ein Array eingelesen und der user hat sich den "MEIER-SATZ" anzeigen lassen. Jetzt will ich diesen Satz aus dem Array löschen und die Datei dann neu (ohne den MEIER-Satz) schreiben.

Aber WIE ???
abrakab ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.10.2008, 09:00  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$array = array("aaa","bbb","ccc","ddd");

if ( 
FALSE !== ($index=array_seach('ccc',$array)))
{
unset (
$array[$index]);
}

$fp fopen('die_datei.txt''w');
foreach(
$array as $valuesfputs($fp$values."n");
fclose($fp); 
hab dir mal schnell was zusammen gegooglet. Variablen / Array Indexes leert man mit unset und mit array_search() durchsucht man das array. Dann in einer Schleife alles neu in die Datei schreiben.
moveax1 ist offline  
Alt 14.10.2008, 09:03  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 3
abrakab befindet sich auf einem aufstrebenden Ast
Standard

Schon fast klasse )

aber kann ich anstatt

if ( FALSE !== ($index=array_seach('ccc',$array)))

auch

if ( FALSE !== ($index=array_seach($aufnr,$array))) //in Aufnr steht CCC drinn


schreiben ???
abrakab ist offline  
Alt 14.10.2008, 09:04  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

An eine Funktion solltest du auch Variablen als Parameter übergeben können, ja
moveax1 ist offline  
Alt 14.10.2008, 09:10  
Neuer Benutzer
 
Registriert seit: 14.10.2008
Beiträge: 3
abrakab befindet sich auf einem aufstrebenden Ast
Standard

Das Schreiben des neuen Array funktioniert (die Sätze beginnen mit "n" ?????),

der "alte Satz" ist aber immer noch dabei.

Geändert von abrakab (14.10.2008 um 09:31 Uhr).
abrakab ist offline  
Alt 14.10.2008, 10:51  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das «$values."n"» in moveax1's Code solllte eigentlich ein «$values . "\n"» sein, das Forum schluckt die Backslashes im Code.
array_search(), so wie du es vermutlich verwendest (ich kenne ja deine Code nicht) dürfte nicht funktionieren, da du ja nach dem ganzen Begriff im Array suchen musst. Für die Suche nach einem Teilbegriff musst du einzeln durch den Array gehen. Das könnte dann etwa so aussehen
PHP-Code:
$daten file('textdatei.txt');

$fp fopen('textdatei.txt''w');
foreach (
$daten as $zeile){
    if(!
preg_match('/^Meier/U'$zeile)){
        
fputs($fp$zeile);
    }
}
fclose($fp); 
Natürlich gibts auch andere Möglichkeiten.
__________________
Gruss
L
lazydog ist offline  
Alt 14.10.2008, 11:03  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP-Code:
// Auslesen
$daten file ($filename);

// Multireplace
$replaces = array ('Maier' 'Meier');

// regulären Ausdruck erstellen
foreach ($replaces as $key => $item)
  {
  
$replaces[$key] = '#^' $item '.*$#';
  }

// Ersetzen
$daten preg_replace ($replaces '' $daten);

// Zurückschreiben
file_put_contents ($filename implode ('' $daten)); 
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.10.2008, 01:45  
Neuer Benutzer
 
Registriert seit: 03.11.2007
Beiträge: 20
centauro befindet sich auf einem aufstrebenden Ast
Standard

Kann ich denn auch nach einem bestimmten Textabschnitt suchen und ab diesem alles was dahinter/darunter kommt aus dem array löschen?

Gibts da ne Idee?
centauro ist offline  
Alt 30.10.2008, 08:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das geht mit dem array_slice oder dem array_splice Befehl.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 30.10.2008, 10:33  
Neuer Benutzer
 
Registriert seit: 21.10.2008
Beiträge: 15
sheekie befindet sich auf einem aufstrebenden Ast
Standard

kann ich die array_slice und array_splice funktionen auch problemlos auf ausgelesene datenbank-arrays verwenden...?
sheekie ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Keys aus Array löschen die keinen Wert beinhalten? PHP Tipps 2006 7 06.04.2006 16:07
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
einem Array eine zweite Zeile hinzufügen ??? PHP Tipps 2005-2 5 25.10.2005 18:15
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[Erledigt] Einzelne Zeile löschen PHP Tipps 2005-2 3 18.08.2005 14:03
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
einträge im array mit key aber ohne value löschen PHP Tipps 2004 2 03.09.2004 12:16
[Erledigt] Wert aus einem Array löschen PHP Tipps 2004 1 29.08.2004 22:49
[Erledigt] array löschen PHP Tipps 2004 12 08.08.2004 23:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array zeile löschen, array zeile löschen, zeile aus array löschen, php zeile aus array löschen, php array zeilen löschen, zeile aus array löschen php, daten aus array löschen, php zeilen aus array löschen, php array zelle löschen, php array zeile entfernen, datensatz aus array löschen, array zeile löschen php, array zeilen löschen, php arrayzeile löschen, zeile aus array entfernen, zeilen aus array löschen, php array leere zeilen löschen, php zeile array löschen, php zeile löschen, zeile in array löschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum