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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top