neue variable in jedem schleifendurchlauf

te one

Lt. Commander
Dabei seit
Apr. 2009
Beiträge
1.110
Hab schon wieder ein kleines problem nämlich:
Wie lass ich jedesmal beim schleifendurchlauf ein array erzeugen?

PHP:
for ($x=1; $x<=64; $x++) {
  $number$x = array();
//Hier passiert dann der rest
  }
ich dachte mir, dass ich halt dann arrays mit dem namen $number1, $number2, $number3,... bekomme!
habs auch schon mit anführungszeichen, punkten und so nem kram versucht, aber klappt nicht!

weiß einer wie ich ihn dazu bring hier einfach den wert für $x einzusetzen?
 

chaozzz

Banned
Dabei seit
Apr. 2009
Beiträge
87
Das sollte nur über anonyme Variablen gehen... (zumindest kenn ich das so aus Java)
Kannst das ganze ja mal auf http://www.codemax.de posten, dort gibtz sicherlich leute die dir kompetent helfen können ;)
 

cheft

Lt. Junior Grade
Dabei seit
Dez. 2004
Beiträge
290
Die Lösung sind dynamische Variablen:

PHP:
for ($x=1; $x<=64; $x++){
    $helper = "number" . $x  // Name der zu erzeugenden Variable zusammensetzen
    $$helper = array(); // der neue Variable das Array zuweisen Achtung, 2x $ Zeichen !
    //Hier passiert dann der rest 
}
Jetzt hast du das Array in der Variablen $number1, etc hinterlegt

Tante Edith schlägt mal wieder zu:

Noch eine Ergänzung, ohne Hilfsvariable ginge das so:
PHP:
for ($x=1; $x<=64; $x++){
    ${number.$x} = array();
    //Hier passiert dann der rest 
}
Hab ich eben selbst erst nachlesen müssen ^^

http://www.derzeiger.de/webmaster/dynamische-variablennamen-php.html
 
Zuletzt bearbeitet: (Ergänzung)

te one

Lt. Commander
Ersteller dieses Themas
Dabei seit
Apr. 2009
Beiträge
1.110
ah ja ok

hab auch gegooglet und dann des mit zweimal $ gefunden, allerdings war die seite etwas unübersichtlich^^

ok thx dann mach ich des ganze so! :)
 

Hanni2k

Commander
Dabei seit
Apr. 2006
Beiträge
2.219
ich frage mich wozu das gut sien sollte?

wie wärs mit

$number[$x]=array();

oder hat das nen bestimmten grund?
 

te one

Lt. Commander
Ersteller dieses Themas
Dabei seit
Apr. 2009
Beiträge
1.110
deine lösung würde ja nur im gleichen array ein element einfügen!

ich brauch aber mehrere einzelne arrays! (in jedem array sollen dann nähmlich ziemlich viele werte (ca. so 100 werte in jedem) sein!) wenn ich die alle ein ein array mach (also wärens dann mehrere tausend) hab ich das problem, dass es mit der späteren programmierung ein bissl ein durcheinander gibt ;)
und wenn ich des ganze so mach, is es später auch einfacher möglich das script mal für andere dinge zu benutzen, und nicht nur mit irgendwelchen festen zahlen,... :)
 

Backslash

Captain
Dabei seit
Okt. 2006
Beiträge
3.240
Nein, damit wird dem Array $number ein Array hinzugefügt.
Wie gesagt, mehrdimensionales Array ist hier das Stichwort. Und dürfte wesentlich praktischer als die andere Lösung sein.
 

Hanni2k

Commander
Dabei seit
Apr. 2006
Beiträge
2.219
nene te one, ich glaube inzwischen immer mehr das meine lösung das ist was du suchst, wie der herr \ schon bemerkt hat ;)
 

te one

Lt. Commander
Ersteller dieses Themas
Dabei seit
Apr. 2009
Beiträge
1.110
glaub ich nicht!

weil bei deiner lösung wäre ja dann:
(zB mit print_f ausgegeben)
Array ([0]=>Zahl aus erstem Schleifendurchlauf [1]=>Zahl aus zweitem Schleifendurchlauf....)
oder nicht??


aber bei meinem script brauch ich ca. hundert mal in einem array nen anderen index!(in jedem schleifendurchlauft! des würde also mit einem array bei print_f so aussehen (wenn mans immer ins gleiche array macht):
Array ([0]=>Zahl aus erstem Schleifendurchlauf [1]=>Zahl aus zweitem Schleifendurchlauf....
[99]=>Zahl aus erstem Schleifendurchlauf [100]=>Zahl aus erstem Schleifendurchlauf [101]=>Zahl aus ZWEITEM Schleifendurchlauf [102]=>Zahl aus zweitem Schleifendurchlauf ....)

und des gäbe bei mehreren schleifendurchläufen (sind auch ca. 100 stück) ja schon 10000 indexe in einem array! des is mir n bissl umständlich!

deshalb wollte ich folgendes:
für array1:
Array ([0]=>Zahl aus erstem Schleifendurchlauf [1]=>Zahl aus ersten Schleifendurchlauf....[100]=>Zahl aus ersten Schleifendurchlauf)

für array2:
Array ([0]=>Zahl aus zweiten Schleifendurchlauf [1]=>Zahl aus zweiten Schleifendurchlauf....[100]=>Zahl aus zweiten Schleifendurchlauf)

usw....
 

Backslash

Captain
Dabei seit
Okt. 2006
Beiträge
3.240
Vielleicht solltest du dich mal über Arrays informieren bevor du hier so einen Quatsch von dir gibst.
Entschuldige die harten Worte, aber wir versuchen nur dir zu helfen und werden dich hier sicherlich nicht belügen.
PHP:
for ($i = 0; $i < 10; $i++)
   for ($j = 0; $j < 10; $j++)
      $array[$i][$j] = "$i/$j";
print_r($array);
 
Zuletzt bearbeitet:
Top