Mysqli fetch_assoc vs fetch_array
Wenn ich fahre eine Zeile aus einer Tabelle zu sammeln, um die Ergebnisse, die ich normalerweise benutze z.B.:
$info = $result->fetch_assoc();
Was ist der Unterschied zwischen dass und das:
$info = $result->fetch_array();
Gibt es einen Grund für die Verwendung einer über den anderen bei der Rückkehr nur eine Zeile, oder ist es einfach nur persönliche Vorliebe?
- Der Unterschied ist deutlich aus gesehen der manual-Seite
- Sie beide Rückgabewert ein assoziatives array, meine Frage ist: warum verwenden Sie einen über den anderen? Das Handbuch nicht beantworten, denn soweit ich das sehen kann.
- werfen Sie einen Blick auf hier spearheadsoftwares.com/tutorials/php-performance-benchmarking/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
It ' s all about performance
fetch_array()
gibt ein array mit sowohl numerischen Tasten und assoziativen strings (Spaltennamen), so können Sie hier entweder$row['column_name']
oder$row[0]
Wo, wie
fetch_assoc()
zurück string-indizierten array-Schlüssel und keine numerischen array, so dass Sie nicht haben hier die option mit den numerischen Tasten wie.$row[0]
Also das letztere ist besser in der Leistung im Vergleich zu
fetch_array()
und offensichtlich mit benannten Indizes ist viel besser im Vergleich zu numerischen Indizes.fetch_array liefert den Wert mit der Indizierung.
Aber Fetch_assoc gibt einfach zurück, das den Wert.
beispielsweise
fetch_array gibt
hier array-Position 0 enthält 11 auch diese location name ist 'id'.
gleichen Dinge fetch_assoc wird kehrt
bedeutet, nur gibt den Wert zurück.
(PHP 5)
Von: http://php.net/manual/en/mysqli-result.fetch-array.php
So effektiv,
fetch_array()
undfetch_assoc()
werden kann, im wesentlichen gleich Anrufe. Wie für Leistung, ich empfehle, mit welcher Anruf, dass die Ergebnisse in besser lesbaren code und ist nur besorgt über die Leistung, nachdem Sie eindeutig identifiziert wird, die rufen, als ein performance-Problem. Es ist eher wahrscheinlich, dass Sie haben mehr ernsthafte performance-Probleme, wo man es am wenigsten erwartet werden.fetch_array
geben Sie Schlüssel/Wert-Paare und mit Indizes, wo, wiefetch_assoc
geben Sie nur den Schlüssel/Wert-Paare, aber nicht mit Indizes. Zum Beispiel: