Um die Anzahl der Elemente in einem PHP zu finden $array
, welches ist schneller / besser / stärker?
count($array)
oder sizeof($array)
?
Bearbeiten
Dank Andy Lester habe ich meine Frage aus einer mehrsprachigen Perspektive heraus verfeinert. Die manuellen Kommentatoren sagen
"[sizeof] bedeutet in vielen anderen Sprachen, die auf C basieren, nicht dasselbe."
Ist das wahr?
Antworten:
Ich würde verwenden,
count()
wenn sie gleich sind, wie es meiner Erfahrung nach häufiger vorkommt, und daher weniger Entwickler, die Ihren Code lesen, sagen: "sizeof()
Was ist das?" und die Dokumentation konsultieren müssen.Ich denke, es bedeutet, dass
sizeof()
es nicht wie in C funktioniert (Berechnung der Größe eines Datentyps). Es machte wahrscheinlich diese Erwähnung ausdrücklich , weil PHP in C geschrieben ist, und bietet eine Vielzahl von identischen Namen Wrapper für C - Funktionen (strlen()
,printf()
usw.)quelle
Laut phpbench :
Lohnt es sich, die Länge der Schleife im Voraus zu berechnen?
Es wird eine Schleife mit 1000 Schlüsseln mit 1-Byte-Werten angegeben.
Ich persönlich bevorzuge es, count () anstelle von sizeof () mit pre calc zu verwenden .
quelle
Sie sind identisch nach
sizeof()
Optimieren Sie immer für den Menschen, wenn Sie keinen Grund haben, sich über "schneller" Gedanken zu machen. Was macht für den menschlichen Leser mehr Sinn?
quelle
Laut der Website
sizeof()
ist ein Alias voncount()
, daher sollten sie den gleichen Code ausführen. Vielleichtsizeof()
hat ein bisschen Overhead, weil es es lösen musscount()
? Es sollte jedoch sehr minimal sein.quelle
Ich weiß, dass dies alt ist, wollte aber nur erwähnen, dass ich dies mit PHP 7.2 versucht habe :
und das Ergebnis war:
Also einfach benutzen
count()
.quelle
1 000 000 000 iteration of count() took 525 sec
1 000 000 000 iteration of sizeof() took 1361 sec
sizeof()
ist nur ein Alias voncount()
wie hier erwähnthttp://php.net/manual/en/function.sizeof.php
quelle
Bitte verwenden Sie die Zählfunktion. Hier ist ein Beispiel für das Zählen von Arrays in einem Element
Die
count()
Funktion gibt die Anzahl der Elemente in einem Array zurück.Die
sizeof()
Funktion gibt die Anzahl der Elemente in einem Array zurück.Die
sizeof()
Funktion ist ein Alias dercount()
Funktion.quelle