SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.06.2009, 09:12:12
Benutzerbild von juergen
juergen juergen ist offline
Junior Member
 
Registriert seit: Nov 2004
Ort: Schmitten
Alter: 65
Beiträge: 318
2 Strings vergleichen

Hallo Forum,

ich komme mal wieder nicht weiter.
Frage:
Ich habe einen String (Verzeichnisnamen) in einer Textdatei gespeichert. Zwischen den einzelnen Wörtern (Verzeichnisnamen) sind Leerzeichen. (könnte ich ändern!)
Jetzt möchte ich einen String der ebenfalls aus Verzeichnisnamen (Wörtern) besteht mit dem vorhandenen Wörtern aus der Textdatei vergleichen und die noch nicht in der Textdatei stehenden Wörtern hinzuschreiben.
Textdatei: Z.B.
verzeichnis_a verzeichnis_b verzeichnis_c verzeichnis_d verzeichnis_e verzeichnis_f

Neuer String: Z.B.
verzeichnis_b verzeichnis_n verzeichnis_a verzeichnis_c verzeichnis_x

Nach dem Vergleich sollte die Textdatei so aussehen:
verzeichnis_a verzeichnis_b verzeichnis_c verzeichnis_d verzeichnis_e verzeichnis_f verzeichnis_n verzeichnis_x

Hättet Ihr da mal einen Ansatz, Hinweiß oder sogar eine Lösung für mich?

Schon mal jetzt vielen Dank für Eure Hilfe.
Gruß Jürgen
__________________
--------------------------------
Gruß Jürgen

www.kenyasafaris.de
Mit Zitat antworten
  #2  
Alt 25.06.2009, 12:36:08
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: 2 Strings vergleichen

Hallo Juergen,

ein Ansatz wäre zum Beispiel mit Arrays zu arbeiten.
Textdatei und Textstring in jeweils ein Array einlesen, beide abgleichen, fehlende Einträge zum Textdatei-Array hinzufügen, sortieren, zurück schreiben - fertig.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 25.06.2009, 14:10:12
Benutzerbild von juergen
juergen juergen ist offline
Junior Member
 
Registriert seit: Nov 2004
Ort: Schmitten
Alter: 65
Beiträge: 318
AW: 2 Strings vergleichen

Hallo vt1816,

meinst Du so:
PHP-Code:
// liest den Inhalt einer Datei in ein Array ?
$filename "/txt/text.txt";
$array_1 file ($filename);

// liest den Inhalt eines Strings in ein Array ?
$array_2 explode ("|"$_mein_string);

// Vergleicht die Arrys ?
$diff_arrays array_diff($array_2$array_1); 
Ist das schon mal so richtig?
__________________
--------------------------------
Gruß Jürgen

www.kenyasafaris.de

Geändert von juergen (26.06.2009 um 09:54:16 Uhr)
Mit Zitat antworten
  #4  
Alt 26.06.2009, 13:00:38
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: 2 Strings vergleichen

In $diff_arrays stehen dann die Elemente, die $array_1 noch nicht enthält und die du somit also noch der Datei hinzufügen musst.
Mit Zitat antworten
  #5  
Alt 26.06.2009, 14:40:26
Benutzerbild von juergen
juergen juergen ist offline
Junior Member
 
Registriert seit: Nov 2004
Ort: Schmitten
Alter: 65
Beiträge: 318
AW: 2 Strings vergleichen

Hallo xabbuh,

ich habe das jetzt so gemacht:
PHP-Code:
$array_a file("txt/textdatei.txt"); 
$diff_arrays array_diff($addrResult,$array_a);  // Vergleicht die Arrays // Das funktioniert nicht !!!!!!!!

$ex_datei fopen($txt_dir.$txt_file_name_komplet'a+');// Schreibt die Differenz der Arrays am Ende in die Datei ein 

foreach($addrResult as $valuesesfwrite($ex_datei$valueses."\r\n");
fclose($ex_datei); 
Der Vergleich ergibt:
Die Daten in der Datei textdatei.txt = $array_a
Array ( [0] => leisure [1] => diani_reef [2] => baobab )

Die gesendetet Daten = $addrResult
Array ( [1] => leisure [3] => diani_reef [5] => baobab [7] => neptune_resort )

Der Unterschied = $diff_arrays
Array ( [1] => leisure [3] => diani_reef [5] => baobab [7] => neptune_resort )

So sollte doch der Unterschied in $diff_arrays sein oder:
Array ( [0] => neptune_resort )


Die endgültige Datei sieht dann so aussehen:
leisure
diani_reef
baobab
leisure
diani_reef
baobab
neptune_resort

Kann mir einer sagen was ich da falsch mache? Die differenz ist nicht richtig errechnet worden. Soviel steht fest.
__________________
--------------------------------
Gruß Jürgen

www.kenyasafaris.de

Geändert von juergen (27.06.2009 um 12:08:46 Uhr)
Mit Zitat antworten
  #6  
Alt 27.06.2009, 16:05:15
Benutzerbild von juergen
juergen juergen ist offline
Junior Member
 
Registriert seit: Nov 2004
Ort: Schmitten
Alter: 65
Beiträge: 318
Die Keys eines Array ändern

Hallo Forum,

ich prüfe ob es Unterschiede zwischen zwei Arrays gibt.
PHP-Code:
// Die gesendeten Daten = $addrResult
$array_a file("txt/Migration.txt"); 
$diff_arrays array_diff($addrResult$array_a); 
Die Daten in der Datei
Array ( [0] => leisure [1] => diani_reef [2] => baobab )
Die gesendetet Daten
Array ( [1] => leisure [3] => diani_reef [5] => baobab [7] => neptune_resort )
Der Unterschied
Array ( [1] => leisure [3] => diani_reef [7] => neptune_resort )

Ich möchte aber nur auf die Werte prüfen und nicht auf Werte und Schlüssel!

Gibt es auch die Möglichkeit nur auf Werte zu prüfen?
__________________
--------------------------------
Gruß Jürgen

www.kenyasafaris.de
Mit Zitat antworten
  #7  
Alt 27.06.2009, 17:05:11
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: 2 Strings vergleichen

Ich würde bei den Daten noch mal anfangen.

Bestehende Daten aus der Datei einlesen:
Code:
$data = array();
$filename = 'cache/folders.php';
if (file_exists($filename)) {
  include($filename);
}
// $data enthält nun ein leeres Array oder das aus unserer Datei
Dann würde ich meine neuen Verzeichnisse speichern:
Code:
$new_data = array('folder_a' => 0, 'folder_b' => 0, 'folder_d' => 0);
Und zuletzt kombinieren wir die neuen und die alten Daten und schreiben sie wieder in die Datei:
Code:
$data = array_merge($data, $new_data);
write_cache($filename, $data);
Hier die passende Funktion:
Code:
function write_cache($filename, $data) {
  $handle = @fopen($filename, 'w');
  @flock($handle, LOCK_EX);
  @fwrite($handle, '<' . '?php' . "\n" . '$data = unserialize(\'' . str_replace('\'', '\\\'', str_replace('\\', '\\\\', serialize($data))) . '\');' . "\n" . '?' . '>');
  @flock($handle, LOCK_UN);
  @fclose($handle);
  @umask(0000);
  @chmod($filename, 0666);
}
$data enthält nun die aktuellsten Daten. Die Zauberfunktionen sind hier serialize() bzw. unserialize(), die dafür sorgen, dass Du Arrays als schlichten Text speichern und wiederherstellen kannst.

Doppelte fliegen bei array_merge() raus, so dass das neuere Array das alte überschreibt, falls der Wert schon vorhanden ist. Mehr dazu hier:
http://de.php.net/manual/de/function.array-merge.php

Die Nullen könntest Du übrigens mit der Anzahl der Dateien ersetzen, die sich in dem jeweiligen Verzeichnis befinden oder einem anderen Wert, den Du den Verzeichnissen zuordnen möchtest.
__________________
meine Scripte

Geändert von mgutt (27.06.2009 um 17:06:24 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php und sql date vergleichen knautschke MySQLi/PDO/(MySQL) 5 22.08.2007 18:32:28
Text vergleichen niraxx PHP Grundlagen 2 13.09.2006 12:34:29
Tabelleninhalte 'vergleichen' DominikJ PHP Grundlagen 1 21.08.2006 09:45:25
Breite eines Strings in Pixel ausrechnen didi86 HTML, CSS und JavaScript Help! 2 24.10.2004 13:31:17
eregi auf nur einen Teil des Strings anwenden minihops PHP Grundlagen 4 27.06.2002 16:07:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:38:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt