2009-07-02 14 views
25

Ich brauche Werte von MySQL in ein Array [PHP] erhalten hinzuzufügen, hier ist, was ich habe:

$players = array(); 

while ($homePlayerRow = mysql_fetch_array($homePlayerResult)) { 
    $players[] = $homePlayerRow['player_id']; 
} 

Ist dies der einzige Weg, es zu tun? Auch, ist das folgende schneller/besser?

$players = array(); 

while ($homePlayerRow = mysql_fetch_array($homePlayerResult)) { 
    array_push($players, $homePlayerRow['player_id']); 
} 

Vielen Dank im Voraus

+0

Wenn Sie nur auf die assoziativen Schlüssel (player_id) zugreifen, verwenden Sie am besten 'mysql_fetch_assoc'. Sie könnten auch 'mysql_fetch_row' und dann' $ homePlayerRow [0] 'verwenden, was etwas schneller ist. – DisgruntledGoat

Antwort

24

Hängt ...

Dokumentation sagt,

„Wenn Sie array_push() verwenden, ein Element zu dem Array hinzufügen, es ist besser zu Verwenden Sie $ array [] =, weil auf diese Weise kein Aufwand für das Aufrufen einer Funktion entsteht. "

Quelle: http://us2.php.net/array_push

So läuft es darauf an, wie viele Daten Sie wollen in diesem Array zu einem bestimmten Zeitpunkt stopfen. Darüber hinaus gibt es einen Fallback, wenn der Array-Verweis nicht vorhanden ist, wenn Sie ihn mit array_push aufrufen, wird ein Fehler ausgelöst. Wenn Sie $ array [] verwenden, wird das Array für Sie erstellt.

+0

Am Ende entschied ich mich mit array [] = ... zu gehen, da das Array irgendwann sehr groß werden könnte –

+2

Ich glaube, es ist schneller ein Array zu deklarieren (mit '$ arr = array()') bevor $ benutzt wird arr [] = X'. Es ist auch nützlich, wenn Ihre '$ arr []' Anweisungen innerhalb einer Kontrolllogik sind - Sie haben immer noch eine Variable am Ende, ein Array ohne Elemente. – DisgruntledGoat

Verwandte Themen