Verbrauchen Arrays viel Rechenleistung?

Hallo liebe Community,

verbrauchen Arrays viel Rechenleistung oder eher weniger wie bei einer ganz normalen Variable der ein Wert zugewiesen wird?

Liebe Grüße

MaxT :wink:

Kommt drauf an, das müsste man für ein konkretes Problem/Stück Quelltext überlegen.

<?php $text = Array( "Die Freiheitsstatue hat eine Schuhgr&ouml;&szlig;e von 3.500.", "Cola auf Rost geschmiert frisst den Rost innerhalb einiger Stunden weg.", "Kinder, welche aus dem Mund nach Zwiebeln riechen, d&uuml;rfen in West Virginia nicht die Schule besuchen.", "Innerhalb der letzten 3.500 Jahre gab es insgesamt nur 230 Jahre ohne Krieg in der zivilisierten Welt." ); $text_nr = date('z') % sizeof($text); echo $text[$text_nr]; ?>

Statt vier Einträgen handelt es sich um etwa 7000.

Das Problem weshalb ich frage. Zu jedem dieser ausgewählten Texte gehört auch ein Link mit der Aufschrift “erfahre mehr über dieses Thema…”. Die Link-Adresse muss natürlich zu dem Text passen da jeder Text eine eigene Link-Adresse besitzt. Folglich muss die Adresse des Links auf die selbe Art und Weise wechseln.

Nun wollte ich einfach das selbe noch einmal erstellen nur eben mit den Link-Adressen statt den Texten, in selber Reihenfolge, dann würde alles passen. Allerdings hätte ich dann zwei gigantische Arrays.

Liebe Grüße

MaxT :wink:

in dem fall ist das array besser.

Also oben eingefügter Code verbraucht kaum Ressource?

weniger als alles in einzelne variablen zu schreiben.
außer du gibst die einzelnen variablen direkt aus.

Das hängt wohl eher mit dem Arbeitsspeicher zusammen als mit
der Rechenleistung.

Bei einer guten Organisation verbraten arrays sogar eher weniger
Arbeitsspeicher als einzelne Variablen.

Die Rechenleistung kommt wieder ins Spiel, wenn man die
arrays wirklich verarbeiten will, etwa mehrdimensionale arrays
in Schleifen. Was da effektiv ist, hängt auch wieder entscheidend
davon ab, wie die mehrdimensionalen arrays intern organisiert
sind.

Bei einem fortran-Programm hatte ich da schonmal einen Faktor
10 Gewinn hinsichtlich der Verarbeitungszeit, nur durch
Umorganisation von Schleifen, die arrays abarbeiten. Das geht
eben schnell, wenn im array aufeinanderfolgenden Elemente
auch in der Schleife nacheinander abgearbeitet werden.

imho: weder variablen noch arrays:
grob überschlagen brauchst du für 7000 überschriften und links ~1,5MB.
das bei jedem, aufruf durch den php-parser zu jagen halte ich für keine gute idee.
daher würde ich zu einer datennbank-lösung raten, oder, bei einer seite mit sehr hohem benutzeraufkommen ohne cms, evtl. cronjob um 0 Uhr nachts.

Wenn sowieso das ganze array verarbeitet oder ausgegeben wird,
würde ja eher die Variante mit Datenbank mehr Resourcen
verbraten.
Werden hingegen nur einzelne Sachen ausgewählt, können
Einzeldateien effektiv sein.
Ist hingegen nicht klar, was in welchem Zusammenhang
gebraucht wird, ist in der Tat eine Suche in einer Datenbank meist
effektiver als ein eigener Suchalgorithmus in einem array oder
gar in Einzeldateien.