Hoi,

Ik probeer waarschijnlijk iets onmogelijks, maar misschien kan het toch. Ik wil een array maken met de volgende structuur:

<?php
	$array = ['item1' => [1, 3, 6], 'item2' => [18, 25,31]];
?>

Er zitten veel meer items in, maar goed.

Via de bovenstaande code lukt het prima. Maar nu wil ik het met een loop doen, iets als dit:

<?php
	$array = ['item1', 'item2', 'item3'];
	$array3 = array();
	foreach ($array as $sleutel){
		$array2 = array();
		for ($i = 0, $i < 3, $i++){
			$array2[]= $i*2;
		}
		$array3[$sleutel] = $array2;
	}
?>

Ik zou een array verwachten met de volgende structuur na print_r($array3):
Array ( [item1] => Array ( [0] => 0 [1] => 2 [2] => 4 ) [item2] => Array ( [0] => 0 [1] => 2 [2] => 4 ) [item3] => Array ( [0] => 0 [1] => 2 [2] => 4 ))

Nu doet het volgende zich voor: bij elke ronde blijkt $array3 te worden overschreven. En krijg ik:
Array ( [item3] => Array ( [0] => 0 [1] => 2 [2] => 4 ))


Hoe zou ik het wel moeten doen?
Klopt, dank je voor de bevestiging
Waarom maak je een variabele $array3 aan? Gebruik liever toepasselijke namen. zoals $temp voor temporary (tijdelijk) en $result voor resultaat bijvoorbeeld.
@frank: in mijn echte script staan ook andere namen, maar er staat ook veel meer in. Dit was om te horen of het principe wel juist was en of ik niet iets probeerde dat onmogelijk was, zoals onlangs bij JavaScript. Als ik weet dat de methode wel goed is kon ik gerichter naar de fout zoeken en vinden.
Mja het kan zijn dat het een testje is maar dan nog. Je deelt het op een forum en wij moeten de verschillen vervolgens zoeken tussen array 1 2 en 3. Het leest voor ons vervolgens veel minder makkelijk dan wanneer er gewoon klare taal gebruikt wordt. Gewoon maar een tip voor volgende keer he. Succes met je project :-)

[size=xsmall]Toevoeging op 15/01/2020 08:28:25:[/size]

Overigens, gebruik je wel een goede PHP editor? want die foutjes als een komma in plaats van een punt-komma haalt zo een editor er zo uit voor je. (gratis en goed is wat mij betreft netbeans).
@frank: ik zal er voortaan aan denken om nog duidelijker namen te maken in een post

Reageren