Ich dachte, man müsste Arrays in PHP nicht vorstellen
-
26-10-2019 - |
Frage
Also habe ich ein Array erstellt, indem ich jeden Eintrag manuell hinzugefügt habe:
$Sections[] = "A.1.4.1";//900 0 900 0 900 900 888 800 800 913 900 900 900
$Sections[] = "A.1.4.2.1";// 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 994 976 954 900 846 779 516 430 344 328 239 150
$Sections[] = "A.1.4.2.2";//900 900 900 900 900 900 900 900 900 900 850 800 750 700 650 600 550 500 376 356 336 227
$Sections[] = "A.1.4.2.3";//1000 1000 1000 1000 900 900 1000 1000 1000 1000 893 803 763 492 516 491 336 336 240 24
$Sections[] = "A.1.4.3";//1000 1000 879 588 560 366 192 867 807 665
$Sections[] = "A.1.4.4";//1000 1000 1000 1000 994 864 620 456 1000 1000 1000
$Sections[] = "A.1.5.1";//900 0 900 800 464
$Sections[] = "A.1.5.2";//a 1000 1000 846 240
$Sections[] = "A.1.5.2";//b 900 900 700 356
$Sections[] = "A.1.5.3";//1000 879 192
$Sections[] = "A.1.5.4";//1012 922 456
//EU_A
$Sections[] = "A.2.5.1";//a 1048 1048 1048 1048 1004 800 576 378
$Sections[] = "A.2.5.1";//b 1048 1048 1048 1048 1004 820 592 384
$Sections[] = "A.2.5.2";//a 1048 1048 964 828 672 504 340
$Sections[] = "A.2.5.2";//b 1048 1048 972 836 696 536 376
$Sections[] = "A.2.5.3";//a 1048 1048 1048 1048 1004 800 576 378
$Sections[] = "A.2.5.3";//b 944 944 944 944 944 820 592 384
$Sections[] = "A.2.5.3";//c 1048 1048 1048 1048 1004 820 592 384
$Sections[] = "A.2.5.4";//a 1048 1048 1048 910 776 560 308
$Sections[] = "A.2.5.4";//b 944 944 944 928 804 588 348
$Sections[] = "A.2.5.4";//c 1048 1048 1048 928 804 588 348
$Sections[] = "A.2.7.1";// 560 504 424 304 240 200
$Sections[] = "A.2.7.2";// 520 448 416 360 312 280
//EU_B
$Sections[] = "B.2.4.1";
$Sections[] = "B.2.4.1";
$Sections[] = "B.2.4.2";
$Sections[] = "B.2.4.2";
$Sections[] = "B.3.4.1";
$Sections[] = "B.3.4.1";
$Sections[] = "B.3.4.2";
$Sections[] = "B.3.4.2";
//TR-114
$Sections[] = "A.2.1";
$Sections[] = "A.2.2";
(Sie können sich gerne die Kommentare ignorieren. Dies war buchstäblich ein Schnitt und Einfügen von meinem Code)
Das Problem, das ich habe, ist, dass wenn ich es tue
return $Sections;
Und dann versuchen Sie, auf jeden Index zu verweisen, ich erhalte einen Fehler darüber, dass es nicht initialisiert wird.
Wenn ich jedoch tue
$return[] = $Sections;
return $return;
Ich bin leicht in der Lage, die Indizes zu verweisen.
Ich habe die Dokumentation für Arrays gründlich gelesen, aber ich verstehe nicht, warum dies der Fall ist. Ich weiß, dass es funktioniert, ich würde gerne wissen, warum.
Ich kann nur davon ausgehen, dass die Indizes, wenn das Array $ Sections an das $ Return -Array übergeben wird, irgendwie "aktualisiert" oder "aktualisiert" werden.
Bearbeiten: Ich habe vergessen zu erwähnen, dass dies in einer Funktion liegt und das im Inhalt erstellte Array zurückgibt. Ich bin sicher, jeder hätte das ziemlich schnell erfasst, was mit der Rückkehrerklärung und allem
Lösung
Wenn Sie versuchen, auf die Indizes zuzugreifen als $Sections["B.2.4.1"]
, Das wird nicht funktionieren, da Sie sie nicht definiert haben. Durch Verwendung der []
Syntax Um sich an das Array anzuhängen, erstellen Sie numerische Indizes.
Ihr Array sieht mit jedem wirklich aus wie folgt []
an das Ende des Arrays mit einem numerischen Index angehängt:
$Sections[0] = "A.1.4.1";
$Sections[1] = "A.1.4.2.1";
// etc
Andere Tipps
Sie geben in Ihrem Code keine Indizes an. Das []
Notation bedeutet, dass PHP das Element einfügt Am Ende des Arrays und zuweisen Sie ihm einen neuen numerischen Index.