Seite 1 von 3

Assoziative Arrays

Verfasst: 02.04.2005, 00:46
von Wirths Media
Besteht die möglichkeit Assoziative Arrays in PHP in eine Datei zu speichern und diese auch so wieder auszulesen??

kleines Beispiel:

Ich speichere ein Namen (Martin) in ein Array nenne dies aber nicht 0 ( bzw wird von PHP selbst zugewiesen ) sondern "name":

$Array1[name] = "Martin";

verlasse dass Programm und rufe es später wieder auf.

fopen...bla bla

echo $Array1[name];

oder muss ich das Array wieder zuweisen??

$Array1[name] = $Array1[0];

besten Dank im Vorraus

Ich hoffe, es ist einigermassen verständlich was ich meine.

Verfasst:
von

Assoziative Arrays

Verfasst: 02.04.2005, 01:03
von pvdb
Hi,

bei einem indemensionalen assziativen array könnte dein datei inhalt z.b. so aussehen:

name:Martin
alter:23

und beim öffnen, liest du alle zeilen ein, machst nen explode und schreibst die werte wieder in das array. wenn du dir zum speichern und laden eine funktion schreibst, sollte es auf jeden fall klappen.

aber vielleicht kennt noch wer ne bessere lösung.

phil

Assoziative Arrays

Verfasst: 02.04.2005, 02:54
von Airport1
In Java wuerde man dies ueber serialize bewerkstelligen, da braeuchte man sich erst gar nicht um die Zuordnung "was ist was" kuemmern, kann aber sein dass die Frickelscript"sprache" PHP das mal wieder nicht bietet oder nur ueber Umwege *fg* (bzw. hier gehts und da gehts nicht-Abhaengigkeiten...)

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Assoziative Arrays

Verfasst: 02.04.2005, 07:15
von shapeshifter
Lol - Frickelscriptsprache - der Herr hat Probleme mit PHP und assoziativen Arrays ?

Code: Alles auswählen

$myArr = array(
name => array("Vorname"=>"hans","Nachname"=>"meier"),
adresse => array("Strasse"=>"Hauptstrasse 1","PLZ"=>"55555","Ort"=>"Neustadt")
);
foreach ($myArr as $key => $value) {
	$output = "<b>".$key."</b><br>";
	foreach &#40;$value as $key2 => $value2&#41; &#123;
		$output .= $key2." &#58; ".$value2."<br>";
	&#125;
	echo $output;
&#125;

Assoziative Arrays

Verfasst: 02.04.2005, 07:17
von derHund
Besteht die möglichkeit Assoziative Arrays in PHP in eine Datei zu speichern und diese auch so wieder auszulesen??
ja sicher, wieso sollte das denn nicht möglich sein?
https://de.php.net/parse_ini_file#48989

Assoziative Arrays

Verfasst: 02.04.2005, 10:06
von Nexus
Hi,
In Java wuerde man dies ueber serialize bewerkstelligen, da braeuchte man sich erst gar nicht um die Zuordnung "was ist was" kuemmern, kann aber sein dass die Frickelscript"sprache" PHP das mal wieder nicht bietet oder nur ueber Umwege *fg* (bzw. hier gehts und da gehts nicht-Abhaengigkeiten...)
Also in php5 ist das ein Zweizeiler (lesen und schreiben). Bin ja mal gespannt wie du das in Java machst....

Code: Alles auswählen

file_put_contents&#40;'dateiname', serialize&#40;$deinArray&#41;&#41;;

$deinArray = unserialize&#40;file_get_contents&#40;'dateiname'&#41;&#41;;
Geht übrigens auch mit Objekten.

Gruß
Nexus

Assoziative Arrays

Verfasst: 02.04.2005, 11:25
von sean
vor allen Dingen ist PHP schon fertig wenn deine Java Routine gerade erst loslegt....

sean

Re: Assoziative Arrays

Verfasst: 02.04.2005, 12:15
von robo
calusa-xx hat geschrieben:Besteht die möglichkeit Assoziative Arrays in PHP in eine Datei zu speichern und diese auch so wieder auszulesen??
Eine Antwort darauf hast du ja schon bekommen. Aber was willst du denn wirklich machen? Den Wert für längere Zeit in einer Datei speichern oder nur für den Aufruf der nächsten Seite? Wären z. B. Sessions für dich eine Alternative?

Das hier ist übrigens nicht korrekt:
calusa-xx hat geschrieben:$Array1[name] = "Martin";
So ist es richtig:

$Array1['name'] = "Martin";

cu, Robo :)

Assoziative Arrays

Verfasst: 02.04.2005, 13:03
von shapeshifter
Ist ranking-hits eigentlich komplett in JAVA geschrieben ? lol

Assoziative Arrays

Verfasst: 02.04.2005, 21:20
von Wirths Media
Ich hatte eigentlich an "Sprachdateien" gedacht..

Sprich verschiedene Dateien mit mehreren Sprachen, aber nur eine HTML Seite.

Assoziative Arrays

Verfasst: 02.04.2005, 22:49
von AnjaK
ach so... das ist ja dann noch einfacher

Mach die verschiedene textdateien:
deutsch.txt
englisch.txt
französisch.txt

etc.

und dort haust du die entsprechenden Arrays rein und includierst diese in deine HTML-Seite (die dann natürlich .php lauten muss oder per htaccess html als php parsen)

[beginn deutsch]
$var[titel]="dies ist eine Seite";
$var[inhalt]="und dies ist der Inhalt";
...
[/end deutsch]

neue Datei:
[beginn englisch]
$var[titel]="This is a page";
$var[inhalt]="an this is the fucking content";
...
[/end englisch]

In der Hauptseite dann:
$sprachdatei=$sprache.".txt";
include $sprachdatei;
feddsch...

Re: Assoziative Arrays

Verfasst: 02.04.2005, 23:38
von SloMo
calusa-xx hat geschrieben:Ich hatte eigentlich an "Sprachdateien" gedacht..

Sprich verschiedene Dateien mit mehreren Sprachen, aber nur eine HTML Seite.
Das macht man am besten mit Templates... die Ausgabe von Textelementen hat im Code eh nichts verloren.

Siehe z.B. https://smarty.php.net

Assoziative Arrays

Verfasst: 02.04.2005, 23:48
von shapeshifter
Wollte ih auch zu Smarty raten - aber ich denke das ist ein wenig zu viel ;)

Einfach selbst ein template file basteln ist da wohl einfacher.......vor allem wenn man es in ein bestehendes system integrieren möchte.

@AnjaK
.......gewagte Übersetzung !

Assoziative Arrays

Verfasst: 03.04.2005, 00:55
von Airport1
> vor allen Dingen ist PHP schon fertig wenn deine Java Routine gerade erst loslegt....
> Ist ranking-hits eigentlich komplett in JAVA geschrieben ? lol

Leute, ihr handelt hier mit uralten aber voellig festgefahrenen Vorurteilen: vielleicht dauert der Start der VM etwas, aber von wegen Schnelligkeit solltet ihr auf den Teppich runterkommen. Java ist nicht nur eine sehr saubere, sondern auch sehr konsequente Sprache (kann man bei PHP nicht gerade behaupten, da gibts falsch benamte Funktionen und Funktionen die in Abhaengigkeit von der PHP Version mal dies, mal jenes machen).

Und mit der Version 1.5 ist Java wieder beim "Startup" etwas schneller geworden. Wer mal lange in Java entwickelt hat und es mit der "Entwicklung" auf PHP vergleicht, wird Java sehr zu schaetzen wissen.

Zudem sind viele Java Programme auch nur deshalb langsamer, weil man als Entwickler mehr Verantwortung hat, so muss man sich z.B. ueberlegen ob man mit String oder mit StringBuffer arbeitet, da sonst unter Umstaenden bei jeder Aenderung ein Objekt neu angelegt wird. Rumfrickeln wie in PHP ist da nicht.

Ich weiss, was man in PHP hinfrickelt tut zwar am Schluss auch meistens, und es wird den meisten "so" reichen ;)

@Nexus: schoen, dass es da ein Pendant in PHP gibt. Aber sei ehrlich: wieso gibts das erst in PHP5? Man hat wohl "abgeschaut" und erkannt wie nuetzlich diese Methode waere ;)

Assoziative Arrays

Verfasst: 03.04.2005, 01:12
von SloMo
*lol* ist doch egal welche Sprache... wenn man's beherrscht, wird man schon gute Ergebnisse erzielen.

Serialize gibt es übrigens nicht erst seit PHP5, sondern seit PHP3. Damals haben sich die Java-Entwickler diese Funktion von PHP abgeschaut ;).

Wen kümmerts...