kleinerChemiker
Here to stay
|
ich "starte" ein array mit
$var = array();
jetzt kommen mehrere if's, in denen das Array ergänzt wird. Ich bin mir jetzt etwas unsicher, kann ich das dann eh jeweils so ergänzen?
$var .= array('schluessel' => 'wert');
tia
|
TheHackman
48°12'N 16°19'E
|
wieso anhängen? wenn der schlüssel (eigentlich index) erhöht wird, wird ja das array automatisch größer oder? bitte nicht schlagen wenns nicht stimmt
|
mat
AdministratorLegends never die
|
entweder du identifizierst den eintrag anhand des schlüssels, wie hackman schon erwähnt hat, oder du fügst einen neuen eintrag per fortlaufender nummer hinzu. das würde dann so aussehen:
$var[] = array('whatsoever' => 1338);
|
kleinerChemiker
Here to stay
|
das ist ein rein assoziatives Array. soll am Ende etwa so aussehen array ('schluessel1' => 'wert1',
'schluessel2' => 'wert2',
'schluessel3' => 'wert3')
Nur daß die Schlüssel/Wert Paare nicht auf einmal, sondern nacheinander eingegeben werden. $a = array();
if ($a==true) {
$a .= array ('schluessel1' => 'wert1',
'schluessel2' => 'wert2',);
}
if ($b==true) {
$a .= array ('schluessel1' => 'wert1',
'schluessel2' => 'wert2',);
}
|
mat
AdministratorLegends never die
|
sollen sich die schlüssel überschreiben? wenn ja, dann brauchst du array_merge(). aber insgesamt finde ich deine angaben etwas seltsam.
|
kleinerChemiker
Here to stay
|
ups, da habe ich mich mit c/p vertan. Die Schlüsseln sind alle verschieden und sollen sich nicht überschreiben. Hätte eigentlich so aussehen sollen: $a = array();
if ($a==true) {
$a .= array ('schluessel1' => 'wert1',
'schluessel2' => 'wert2',);
}
if ($b==true) {
$a .= array ('schluessel3' => 'wert3',
'schluessel4' => 'wert4',);
}
|
mat
AdministratorLegends never die
|
dennoch: array_merge() $a = array();
if ($a==true) {
$a = array_merge($a,array ('schluessel1' => 'wert1',
'schluessel2' => 'wert2'));
}
if ($b==true) {
$a = array_merge($a,array ('schluessel3' => 'wert3',
'schluessel4' => 'wert4'));
}
|
kleinerChemiker
Here to stay
|
thx, also kann man Array's nicht so einfach wie Strings zusammenhängen.
|
mat
AdministratorLegends never die
|
oh doch.. aber nicht wie strings. $a = $a1 + $a2; $a += $a1; ich benutze dennoch immer array_merge(). wahrscheinlich eine schlechte angewohnheit von mir
|
kleinerChemiker
Here to stay
|
ah, super, danke dir
|
Snoop
Here to stay
|
also zunächst mal zu den arrays: so wie ihr das anschreibts, machts ihr mehrdimensionale arrays, das würde klarerweise das abrufen etc. um einiges schwerer machen $a = array(); $a["key"] = "value"; <-- korrekte schreibweise weiters noch so zum code dazu if($a==true) kannst da sparen if($a) { .... } is korrekt MFG Snoopal
|
kleinerChemiker
Here to stay
|
es gibt nicht immer nur eine richtige schreibweise
|
mat
AdministratorLegends never die
|
also zunächst mal zu den arrays: so wie ihr das anschreibts, machts ihr mehrdimensionale arrays, das würde klarerweise das abrufen etc. um einiges schwerer machen nein (ich weiss, das klingt hart ) $a = array();
$a["key"] = "value"; <-- korrekte schreibweise korrekt ist beides, nur war es so nicht im sinne des threadstarters. er wollte mehrere schlüssel gleichzeitig zuweisen. weiters noch so zum code dazu
if($a==true) kannst da sparen
if($a) { .... } is korrekt würde mal sagen ersteres dient eher der lesbarkeit, besonders bei php und ohne hungarian notation. bleibt aber dennoch geschmackssache, weil beides ist korrekt!
|
Snoop
Here to stay
|
Ahoi, Soda hab mir nochmal durchgelesen, du hast recht Wegen den Standards: Es hat einen Grund, warum es diese Schreibweisen gibt: Typo3 programmierer haben von ein paar Jahren damit angefangen sogenannte "standards" mit Begründungen für die Programmierung in ihrem System aufzustellen. Wer sich mit soetwas auseinandersetzt, wird feststellen, dass die Rendertime und die CPU Auslastung herabgesetzt wird, wenn man sich daran hält, da der Parser weniger zu tun hat. Klar kann man jetzt mim Argument kommen: so viele Leute werden das Script nie aufrufen: doch die Frage ist, was is wenn doch ? Ich hab selbst ein Communityportal mal gemacht und das is inzwischen, auch wenn ich nimma offiziell dabei bin, zu einem der größten Österreichs herangewachsen und glaubs ma, es macht einen Unterschied "wie" du Code schreibst Ich weiß lange Rede kurzer Sinn: beides is Richtig und wenn man nicht auf die Performance schaut, ists blunzen Ps: und jetzt bitte nicht glauben ich bin ein kleines Kind das heult, weil ihm jemand widerspricht
|
dio
Here to stay
|
ich glaub nur du versuchst den falschen zu belehren
|