PHP Array maximal Zeichen?

Belee

Lt. Commander
Registriert
Dez. 2006
Beiträge
1.518
Moin

Habe da eine Frage auf die ich bei Tante GoOgle keine Antwort gefunden habe.

Und zwar...

Wieviele Zeichen kann/sollte man maximal/darf man in ein array packen?

Wäre es ein Problem wenn ich ein Array mit ca. 3.000 Wörtern füttern würde? verlangsammt das dass Script allgemein oder verabschiedet sich PHP von vornerein? :)
Ich weiß .. Datenbank nehmen :) trotzdem würde es mich interessieren.

Danke.

Belee
 
Sollte kein Problem sein. Irgendwann kommst du ans Memory Limit, dann wird dein Skript abbrechen; 3000 Wörter sollten aber kein Problem sein.
Inwiefern das dein System jetzt ausbremst (im Gegensatz zur Datenbank beispielsweise :D), musst du halt testen.
 
Memory hab ich 80MB, da passen glaube ich genug Wörter rein :D
 
wahrscheinlich integer: 4.294.967.295
aber man kann seine arrays ja auch mit strings mappen, dann ists theoretisch unbegrenzt
 
Generell sollte es, wie gesagt, mehr eine Frage der Performance und des Speichers sein. Wenn du bei jedem Skriptaufruf ein paar MB in ein Array lädst und das parallel laufend passiert, wird dir wohl klar sein, das es für die Anwendung und die Nutzer selbst suboptimal sein wird. Deshalb soll man ja Variablen allgemein, aber große Arrays im besonderen, wieder freigeben, sobald man sie nicht mehr braucht.

Die Frage ist natürlich, warum brauchst du das. Arrays und Datenbanken haben idR einen ganz anderen Einsatzzweck, da Arrays Daten nur temporär speichern können und Datenbanken für eine persistente Speicherung sorgen.

Es sei denn natürlich, du hast jetzt ernsthaft vor, alle persistenten Informationen in eine Datei zu legen und diese dann in ein Array zu laden. Dann würde ich meinen Programmierstil sehr sehr schnell überdenken ;)

Wieso wehrst du dich eigentlich so gegen Datenbanken?


so long
 
Ich haße Datenbanken, ein Datenbank ist wie eine Rumpelkammer, da ist alles reingepackt und wenn du dann reichlich Sachen drin hast ... Forum..GB..Counter...meine ganzen Radio Sachen usw. usf dann blickst du dann noch durch? schlimmer als Windows, alles auf der Platte verstreut, ich frage mich wie so ein System überhaupt funktionieren kann.

Das ist mein Problem, ich bin ein ordentlicher Mensch, bei mir muss alles perfekt sein, ist es das nicht oder nicht möglich lass ich die Finger von. Darum nutze ich die Datenbank nur dann wenn ich es wirklich muss zB. für ein Forum, für 3 weiter Radio Sachen die geplant sind, für ein GB, für eine Userverwaltung.
Also nur wirklich große Sachen wo es ohne einfach nicht geht, dieser kleine Mist hier der muss nicht in die Datenbank das geht auch so nur erst einmal rausbekommen wie aber gehen tut das, ansonsten ist PHP totaler Mist denn früher gab es auch keine Datenbanken und die Leute haben mit CGI alles vernünftig zu laufen bekommen ach hey, es gibt heute noch CMS die komplett auf Flatfiles laufen und das sehr gut sogar, geht nicht? geht alles, ich gebe nicht auf, da könnt ihr mich ruhig für bekloppt halten!

Grüße
 
Belee schrieb:
Ich haße Datenbanken, ein Datenbank ist wie eine Rumpelkammer, da ist alles reingepackt und wenn du dann reichlich Sachen drin hast ... Forum..GB..Counter...meine ganzen Radio Sachen usw. usf dann blickst du dann noch durch? schlimmer als Windows, alles auf der Platte verstreut, ich frage mich wie so ein System überhaupt funktionieren kann.
Sorry, falls ich hier jetzt eine Grundsatzdiskussion los trete, aber in welchem Universum sind Faltfiles und das vermischen verschiedener System ordentlicher als eine saubere Datenbank?

Natürlich verhält es sich auch bei einer Datenbank wie bei einer normalen Programmierung, ich kann sauberes OOP machen, oder alles kreuz und quer prozedural durch das File kreuzen.

Aber ich versteh es persönlich ganz ehrlich nicht, warum man sich in einer ordentlichen DB nicht zurechtfinden sollte, ganz im Gegenteil, ich finde es weit ordentlicher als Windows ;)

Und wie du selber schon richtig sagst, wenn du was großes und richtiges Schaffen willst, kommst du an einer Datenbank nicht vorbei. Nicht umsonst hat sich das System jahrelang bewährt.

denn früher gab es auch keine Datenbanken und die Leute haben mit CGI alles vernünftig zu laufen bekommen
Diese Aussage wage ich in mehrere Hinsicht zu bezweifeln. Erstens gibt es Datenbanken schon seit den 60er Jahren und spätestens seit den 80er gab es durch Oracle und SQL den Durchbruch. Zudem kommen die OpenSource DBS seit den 2000ern. Zweitens haben sich auch die Anforderungen an eine Webapplikation in den letzten 10-15 Jahren massiv geändert (vergleich static & dynamic content)

Hier mal ein paar Links / Stichwörter die bei der Erstellung eines sauberen Datenbankschemas hilfreich sein können (sind nur Wiki Links auf die schnelle, aber kannst ja mal weiter suchen):
Normalisierung
ER-Diagramm
Datenbankdesign


Vllt hilfts ja ;)


so long
 
daten im speicher sind schneller als daten in einer datenbank.
die datenbank liegt auf der festplatte.
wenn man genügend speicher hat und die vorindizierungen wie bei einer datenbank auch im speicher ablegt, ist man damit viel schneller.
gibt sicherlich auch frameworks/apis für php, effiziente arraytypen inklusive joins bereitstellen, falls es nicht schon von haus aus drin ist.

wenn ers perfekt haben will, musser aber das ganze zeug selber schreiben ;)
wer sich nicht drum kümmern will, nimmt ne datenbank, das hat das beste kosten/nutzen-verhältnis
 
Meinst du mit Speicher flüchtigen Speicher a la RAM? Denn die Datenbank wird auch nicht im Luftraum zwischen HDD und Mainboard geSPEICHERt :)

Was du auch meinen könntest wäre das Chaching von PHP Seiten, damit kann man gleichbleibende Seiten, unabhängig von der Datenbank, ziemlich beschleunigen.

Auch glaub ich nicht, vorrausgesetzt wir reden von richtigen Datenmengen, das der Flatfile Zugriff schneller ist als die Datenbank, alleine schon wenn man den Geschwindigkeitsvorteil bei einem Index misst. Zudem bietet es den Vorteil, gewisse Berechnungen auf einen externen Datenbankserver auszulagern (da die CPU bei PHP Scripts gerne zu einem Flaschenhals wird)

Aber ich glaub die Performancesache ist das kleinste Problem des TE ;)


so long
Renegade
 
Aber ich glaub die Performancesache ist das kleinste Problem des TE ;)

Gut erkannt :)
Interessiert mich erlichgesagt NULL, es interessiert mich erst wenn das Script wegen Zeitüberschreitung abbricht. Jungs, das ist/soll eine Radio Seite werden und keine Seite wie Computerbase, wo nonstop tausende User drauf sind. Auf Radioseiten geht das so....es kommt einer, schaut sich 1-3 Minuten "max." um, startet einen Player und ist auch wieder weg bzw. surft dann mit Musik am Ohr weiter durch das W W W.

Das ist und wird keine Langaufenthaltsseite sein! da einfach nur Radioseite, primärer content "Musik-Stream" sekundär "Kleinzeug, was den User nicht lange aufhalten soll".
Ergänzung ()

Also ich lade jetzt 2.467 Wörter "je Zeile eins" in ein Array und ich stelle keine Bremse fest, ob ich es abstelle oder laufen lasse in Sachen Geschwindigkeit merke ich nichts, auch habe ich mal ein PHP-Script kurz eingebaut welches zeigt wie lange die Seite zum Rendern benötigt hat, kein großer erwähnenwerter kritischer Wert, gerade mal paar Hunderstell Sekunden, das ist nichts :)
 
Zurück
Oben