Größe eines Array in Bytes

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Größe eines Array in Bytes

Beitrag von Gumfuzi »

Hallo Leute,

wie kann ich am einfachsten die Größe eines Arrays herausfinden - also nicht die Anzahl der darin enthaltenen Einträge (geht ja mit "count()"), sondern die Summe aller Zeichen in dem Array (rekursiv) - oder eben die größe in Bytes.

Hoffe, ich habe das verständlich erklärt.

Vielen Dank für eure Tipps!

*edit*
mit dem Code erhalte ich schonmal die Felderanzahl:

Code: Alles auswählen

echo mysql_num_rows($result) * mysql_num_fields($result);
(Zeilen * Spalten)

nur die Bytegröße scheint nicht machbar zu sein... :(
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

[php:is_array]
[php:strlen]
KB:knigge
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Hallo Pyramide!

danke für den Link. Ich tippe mal, daß Du das Posting meintest: http://de.php.net/manual/de/function.strlen.php#47769

Also ohne einer Schleife geht das nicht? Ich meine, mit einem einzigen, "schnelleren" Befehl also eine php-interne Funktion?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Meistens wird bei php.net auf solche Funktionen aufmerksam gemacht, wenn jemand eine bereits in php integrierte Funktion postet, also: Eher nein. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

OK, danke!!!
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Was ist denn mit strlen(serialize($array)) ?

Ist zwar nur ein anhaltswert, aber kommt durch indexe, typen und einzellänge ziemlich nah an die Gesamtgröße. Dafür ist es aber schnell.

Gruß, Olli
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Habe eben entdeckt, daß selbst wenn ich die Größe rausfinde, diese nicht wirklich was mit dem Speicherverbrauch der SQL-Abfrage zu tun hat, also ist das Thema für mich hinfällig :(

Wenn ich aber die Spalten mit den Reihen multipliziere, dann ist das wenigstens ein grober Anhaltspunkt, wenn man spezielle tabellen berücksichtigt wie zB. post_table. - oder?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Was genau willst du eigentlich erreichen?
KB:knigge
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

ich möchte herausfinden, wieviel RAM eine SQL-Abfrage am Server braucht, da der Server bei manchen SQL-Abfragen den RAM auf die Platte auslegern muss.

(ist aber ein managed Server)

*edit*
würde eben gerne in der mysql.php eine Berechnung einbauen, solange diese nicht zu aufwändig ist und damit das Forum lahmen würde - diese wird dann im Footer pro Abfrage angezeigt (mit fehlen nur mehr die Byte-Werte)
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Er will scheinbar ausrechnen wieviel Speicher in der DB verbraucht wird.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „Coding & Technik“