Suche Optimierungsmöglichkeit für Array
Max
- php
0 wahsaga0 fastix®0 Mastershrimp0 fastix®
Hallo!
Ich benötige einen Array, in den ich ggf. im Code eine Datei einschieben könnte, ohne dass ich alle nachfolgenden Zahlen verändern muss.
Mein Ansatz (der auch funktioniert) ist folgender:
$d=0;
$dateien[$d]="../inhalte/about.html";
$d++;
$dateien[$d]="../inhalte/bilder.html";
$d++;
$dateien[$d]="../inhalte/links.html";
$d++;
$dateien[$d]="../inhalte/main.php";
$d++;
$dateien[$d]="../inhalte/onoff.html";
$d++;
$dateien[$d]="../inhalte/wallpapermain.html";
usw.
Leider benötigt der ohnehin schon lange Array jetzt noch mehr Platz - ließe sich das irgendwie noch optimieren?
$dateien[$d++] klappt nur teilweise (die erste Datei wird irgendwie nicht beachtet),
$dateien[$d=$d++] klappt gar nicht,
Gibt es vielleicht noch eine andere Schreibweise?
Gruß
Mastershrimp
hi,
Ich benötige einen Array, in den ich ggf. im Code eine Datei einschieben könnte, ohne dass ich alle nachfolgenden Zahlen verändern muss.
hä, wie meinen?
Mein Ansatz (der auch funktioniert) ist folgender:
$d=0;
$dateien[$d]="../inhalte/about.html";
$d++;
$dateien[$d]="../inhalte/bilder.html";
usw.Leider benötigt der ohnehin schon lange Array jetzt noch mehr Platz - ließe sich das irgendwie noch optimieren?
"platz" im sinne von platz beim schreiben des scriptes meinst du?
vernachlässigbare größe, _speicherplatz_ im RAM während der ausführung wäre ein kritischeres kriterium.
> $dateien[$d++] klappt nur teilweise (die erste Datei wird irgendwie nicht beachtet),
$dateien[$d=$d++] klappt gar nicht,
wie sieht's mit
$dateien[0]="../inhalte/about.html";
$dateien[]="../inhalte/bilder.html";
$dateien[]="../inhalte/links.html";
$dateien[]="../inhalte/main.php";
$dateien[]="../inhalte/onoff.html";
$dateien[]="../inhalte/wallpapermain.html";
aus?
wenn du nur klammern schreibst, und keinen index angibst, legt PHP automatisch ein neues array-element an.
gruss,
wahsaga
hä, wie meinen?
Wenn ich den Array: a,c,d,e habe und noch ein b einfügen möchte, müsste ich bei einem vornummerierten Array alle Array-Einträge nach dem b um eins nach oben korrigieren - bei 100 Einträgen nicht besonders angenehm.
"platz" im sinne von platz beim schreiben des scriptes meinst du?
vernachlässigbare größe, _speicherplatz_ im RAM während der ausführung wäre ein kritischeres kriterium.
Mit "Platz" meinte ich den Platz in der Datei selber. Bei einem 100-Eintrage-Array mit nem kleinen Script drum herum ist der Speicherverbrauch im RAM denk ich mal nicht so hoch...kann mich aber irren.
Egal - ich meinte den Platz in der Datei selber, damit es übersichtlich bleibt und nicht allzu "groß" wird.
wie sieht's mit
$dateien[0]="../inhalte/about.html";
$dateien[]="../inhalte/bilder.html";
$dateien[]="../inhalte/links.html";
$dateien[]="../inhalte/main.php";
$dateien[]="../inhalte/onoff.html";
$dateien[]="../inhalte/wallpapermain.html";aus?
Genau so etwas suchte ich! Danke! Ich wusste doch, dass es da irgendeine Kurzform für gibt! Hat das irgendwelche Nachteile? Schätze mal nicht, oder?
Gruß
Mastershrimp
Moin!
$dateien[$d++] klappt nur teilweise (die erste Datei wird irgendwie nicht beachtet),
Für das, was Du willst gibt es ca. 3734534356 mögliche Schreibweisen.
$d=(-1);
$dateien[$d++]="../inhalte/about.html";
$dateien[$d++]="../inhalte/bilder.html";
...
sollte es tun...
$dateien=array();
$d=array_push($dateien, "../inhalte/about.html");
$d=array_push($dateien, "../inhalte/bilder.html");
...
auch. (Du musst Dir $d nicht zurücggeben lassen)
ließe sich das irgendwie noch optimieren?
Definiere "optimieren".
Meinst Du
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Nur ne kurze Antwort, weil das Wesentliche in der Antwort auf wahsagas posting steht.
$d=(-1);
$dateien[$d++]="../inhalte/about.html";
$dateien[$d++]="../inhalte/bilder.html";
...sollte es tun...
Bei mir ging das irgendwie nicht...Hatte ich genau so ausprobiert und der erste Eintrag des Arrays wurde übergangen.
$dateien=array();
$d=array_push($dateien, "../inhalte/about.html");
$d=array_push($dateien, "../inhalte/bilder.html");
...auch. (Du musst Dir $d nicht zurücggeben lassen)
Das ist zu lang ;)
Definiere "optimieren".
Meinst Du
- Ausführungsgeschwindigkeit
- Speicherverbrauch
- Lesbarkeit
- [...]
[senden]
Ok. Habe mich ungenau ausgedrückt. Ich meinte mit "optimieren", dass in der Datei selber weniger Code stehen soll - damits übersichtilicher wird. Ist ja schon ein Unterschied, ob man 100 Zeilen Code hat, oder 200 Zeilen...
An die Ausführungsgeschwindigkeit eines 10KB-Scriptes habe ich gar nicht gedacht - ich denke das klappt schon irgendwie. Wird eh nur von ner handvoll User benutzt (ist eine Suchfunktion).
Vielen Dank euch beiden!
Gruß
Mastershrimp
Moin!
$d=(-1);
$dateien[$d++]="../inhalte/about.html";
$dateien[$d++]="../inhalte/bilder.html";
...
Bei mir ging das irgendwie nicht...Hatte ich genau so ausprobiert und der erste Eintrag des Arrays wurde übergangen.
Mit einem "$dateien=array();"
davor sollte es gehen...
Ich meinte mit "optimieren", dass in der Datei selber weniger Code stehen soll
Das ist grundfalsch.
Manche schreiben Skripte und nutzen jede verdammte Möglichkeit irgendwas verkürzt zu schreiben und übersichtlicher wird es nicht, im Gegenteil.
Zum Beispiel:
Ich mag folgendes nicht:
if ($yxz==100) echo "xyz ist Hundert";
Grund: Ein if- Konstrukt hat eine "optische Erscheinungsweise":
if ($yxz==100) {
echo "xyz ist Hundert";
}
Hat zwar zwei Zeilen mehr, aber ich sehe sofort, was ich da gemacht habe und ich habe keinerlei Probleme, ein ";" zu vergessen, wenn ich das mal um einen weiteren Ausdruck verlängere. Das mag daher kommen, daß meine erste Programmiersprache ein frühes BASIC war, welches solche Abkürzungen wohl nicht kannte. (Wozu auch...) Genau genommen trauere ich noch dem guten alten "endif" nach, die {} habem in meinen Augen nichts verbessert.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Genau genommen trauere ich noch dem guten alten "endif" nach, die {} habem in meinen Augen nichts verbessert.
Es gibt eine Alternative Notationsform in PHP, die genau das hat. Aber bitte benutze es nicht, ich finde nämlich, dass es grausam aussieht. Die geschweiften Klammern sind vollkommen in Ordnung.
- Sven Rautenberg
Moin!
Die geschweiften Klammern sind vollkommen in Ordnung.
Naja. Ich hab mich ja "gerade eben" an die Dinger gewöhnt. Da werd ich nicht gleich wieder wechseln, zumal sich diese Notation ja scheinbar als Standard quer durch viele gängigen Hochsprachen (C, CPP, Java, Perl, PHP... Nein, Python offenbar nicht ) zieht.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®