Gibt es ein PHP-Äquivalent von "new Array (number)" in Javascript?

9

Ich habe versucht, grundlegende Javascript-Funktion in PHP zu konvertieren, und ich sah, dass eine der Variablen var Variable = new Array (13) deklariert wurde.

Ich weiß, dass PHP-Variablen wie folgt deklariert sind: $variable = array()

Aber was ist mit der "13" in new Array(13) ? übersetzt sich das in $variable = array(13) ? Ich habe es versucht, aber es schien nicht zu funktionieren.

Dies in Javascript

%Vor%

wird das in PHP, bin ich richtig?

%Vor%     
ParaChase 09.07.2012, 22:56
quelle

5 Antworten

14

Tatsächlich erstellen Sie in diesem Zusammenhang ein Array der Größe 13 .

Sie müssen Arrays in PHP nicht wirklich vorallokieren, aber Sie können etwas tun wie:

%Vor%

Dies erzeugt ein Array mit 13 Elementen (Indizes 0 bis 12), deren Werte null sind.

    
nickb 09.07.2012, 22:59
quelle
6

Beachten Sie auch, dass SplFixedArray für Arrays fester Größe

vorhanden ist %Vor%

Ссылка

    
Petah 09.07.2012 23:01
quelle
4

new Array(someNumber) in JS erstellt ein Array mit someNumber Elementen, die undefined sind. Wenn Sie das nicht möchten, sollten Sie immer [...] verwenden, um ein Array mit einigen Elementen zu erstellen, da diese Syntax nicht mehrdeutig ist, während new Array() je nach Anzahl und Typ der Argumente unterschiedlich funktioniert.

array(13) in PHP erzeugt jedoch ein Array mit einem einzelnen Wert 13 .

Eine ungefähr ähnliche Funktion in PHP ist array_fill(0, 12, null) . PHP kann jedoch ein leeres Array zuweisen und es dann erweitern, während es gefüllt wird.

    
ThiefMaster 09.07.2012 22:59
quelle
1

Nein, eine Zahl innerhalb der Klammer in PHP fügt dem Array, das den Int 13 darstellt, einen Wert hinzu. Während eine Zahl in JS innerhalb der Klammer ein Array mit dieser Anzahl nicht definierter Werte erstellt.

Arrays in PHP sind dynamisch, Sie müssen ihre Größe nicht wie in JS deklarieren.

    
John V. 09.07.2012 22:58
quelle
0

Dies erstellt ein Array mit 13 undefinierten Werten:

%Vor%

Dies erzeugt ein Array mit dem ersten Index (Index 0) gleich 13:

%Vor%

Das ist also falsch. Wenn Sie das gleiche Ergebnis wie das von Javascript möchten, möchten Sie etwas wie dieses:

%Vor%

Sie können diese Frage auch überprüfen:

So erstellen Sie ein leeres Array in PHP mit vordefinierter Größe?

    
Wern Ancheta 09.07.2012 23:03
quelle

Tags und Links