Kleines Problem mit Arrays welche durch for-Schleifen befüllt werden sollen

dfghjk123

Grünschnabel
Ich habe ein kleines Problem. Ich löse gerade ein paar Aufgaben aus einem PHP-Ferienkurs und hänge an einer eigentlich trivialen Stelle fest, evtl könnt ihr mir ja helfen :)

Die Aufgabenstellung:
4.1 Schreibe eine for-schleife, die die beiden Arrays $zahlen_a und $zahlen_b in einem neuen Array $zahlen zusammenfuegt. Dabei soll abwechselnd eine Zahl aus dem Array $zahlen_a und eine Zahl aus dem Array $zahlen_b genommen werden, so dass das Array $zahlen nachher den Inhalt: 0,1,2,3,4,5,6,7,8,9 hat.

$zahlen_a = array (0,2,4,6,8);
$zahlen_b = array (1,3,5,7,9);

mein nicht funktionierender Lösungsansatz ^^:
PHP:
$zahlen_a = array (0,2,4,6,8);
$zahlen_b = array (1,3,5,7,9);
$size = sizeof($zahlen_a) + sizeof($zahlen_b);

for($i=0;$i<$size;$i++)
	{
	if ($i % 2 == 0) {
      $zahlen[] = $zahlen_a[$i];
	 }
else {
	  $zahlen[] = $zahlen_b[$i];
	  }  	  
	}
print_r($zahlen);

vermutlich ist der Fehler ziemlich blöd und schnell zu lösen :D

Danke schon mal für jede Hilfe
 
PHP:
<pre>
<?php
$zahlen_a = array (0,2,4,6,8, 10);
$zahlen_b = array (1,3,5,7,9); 

$size = ( ($cntA = count($zahlen_a))> ($cntB = count($zahlen_b)) ? $cntA : $cntB );

$result = array();
for($i = 0; $i < $size; $i++)
{
	if(isset($zahlen_a[$i]))
	{
		$result[] = $zahlen_a[$i];
	}
	if(isset($zahlen_b[$i]))
	{
		$result[] = $zahlen_b[$i];
	}
}

print_r($result);
?>
</pre>

Der Schnippsel ist relativ selbsterklärend. Bei der ersten Prüfung prüft man, welcher Array mehr Einträge hat. Falls beide immer gleichviel haben, wie im Beispiel, kann man das auch weglassen und einfach die Anzahl eines der Arrays nehmen und die gesamte Prüfung in der Schleife ebenfalls weglassen.

Gewissermaßen so:
PHP:
<pre>
<?php
$zahlen_a = array (0,2,4,6,8);
$zahlen_b = array (1,3,5,7,9); 

$size = count($zahlen_a);

$result = array();
for($i = 0; $i < $size; $i++)
{
	$result[] = $zahlen_a[$i];
	$result[] = $zahlen_b[$i];
}

print_r($result);
?>
</pre>
 
Zurück