problem mit 2 dimensionalem array *argh*

S

SynDrome

he leutz ..
also ich hab ein kleines prob mit 2d arrays. wie kannich in ein array meherere reinkleben und die indizes dann als integer haben? ich dachte so:

PHP:
$arr = array();
$new = array("val1" => $bla, "val2" => $blabla);

for ($i=0; $i<10; $i++){
$arr[] = $new;
};

also das mit der schleife is nu nicht sinnvoll - aber vom prinzip her ist es das, was ich will. also bei jedem mal wo $new angehängt wird, soll ein neuer key in $arr kommen und der soll den wert von $new haben (also ein array)

nu is das aber irgendwie nich so wie ich mir das dachte =)
es wird immer nur auf den index 0 der wert neu zugewiesen, also nicht hintendran gehängt. weiss jemand rat??

wär cool =)
syn
 
also, cih versteh irgendwie nict was du willst ....

aba mir is schon nen fehler aufgefalln ... glaub cih....

in deiner schleife heisst es:

PHP:
for ($i=0; $i<10; $i++){
$arr[] = $new;
};

-------------------

//mach mal so die schleife:

for ($i=0; $i++; $i<10){
$arr[] = $new;
}


mfg da porn
 
äh ne

ne die schleife is schon in ordnung.
darum gehts auch nicht wirklich. ich will damit nur sagen, dass für die einträge, die in der schleife hinzugefügt werden NICHT in die "liste" aufgenommen werden. sprich es wird kein neuer index erstellt. zu mindest nicht bei mir =)
es wird immer nur der wert mit dem index 0 überschrieben. aber eigentlich soll bei
PHP:
$arr[] = $new;
ein NEUER index erzeugt werden, welcher dann ein eben dieses array "$new" enthält.. folgich soll dann $arr[0] = $new
sein. ist auch so. aber wenn ich das nu nochmal mache (also $arr[] = $new;), wird der wert von $arr[0] einfach nur ersetzt ... es wird nicht $arr[1] (wie es eigentlich sein sollte) erzeugt... versteht mich nu jemand?
:>
 
jo, hab kapiert, was Du meinst. :)

Du musst das so machen:

PHP:
$i = sizeof($arr) +1;
$arr[$i] = $new;

Gruß
Dunsti
 
jo

thx erstma. leider hab ich das auch schon probiert ... das ändert nix =/ habs auch schon mit array_push() und array_merge() versucht ... überall das selbe prob =/
hm ob es daran liegt, dass die variable $new in meinem fall auch ein array ist?
könnt ja sein, dass man das dann anders machen muss ... hm?
 
aah

es geht mir nich um die schleife ... meinetwegen kannst auch 10 mal untereinander
$arr[] = $new;
hinschreiben! es geht nur darum, dass der den inhalt von $new N I C H T als neuen index definiert (was es eigentlich sollte ...). stattdessen wird der wert eindach 10 mal nacheinander in $arr[0] geklebt =/
ist denn so unklar was ich meine? *verzweifel*
 
mir ist schon klar, was Du meinst ... hab aber auch keine Idee ausser mit array_push()

aber damit müsste es eigentlich funktionieren.

Gruß
Dunsti
 
puh

hat sich schon erledigt ... der fehler war eigentlich ganz logisch ... in meiner version (da war das nich mit ner schleife) wurde das array zwischen den wertzuweisungen jedesmal gelöscht. nu hab ich das ganze etwas anders geregelt. klappt auch ;)

trotzdem nochmal thx an alle!!
 

Neue Beiträge

Zurück