Problem mit zweidimensionales Array

Hallo,

das folgende Programm schreibt bis zum Überschreiten des Limits die Zahlen in einer Reihe.

Code:
<?php
$limit = 280;
$arr = array(500, 2, 4, 200, 95, 202, 35, 200);

// $words = array(array(), array());
// $j = 0;

for($i=0; $i < sizeof($arr); $i++) {

	if ($arr[$i] > $limit) {
		echo $arr[$i] . '<br />';
		// $words[$i][$j] = $arr[$i];
	} else {
		$sum = $arr[$i];
		echo $arr[$i] . ' ';
		// $words[$i][$j] = $arr[$i];
		for($j = $i + 1; $j < sizeof($arr); $j++) {
			$sum += $arr[$j];
			if ($sum > $limit) {
				echo '<br />';
				break;
			} else {
				$i++;
				echo $arr[$j] . ' ';
				// $words[$i][$j] = $arr[$j];
			}
		}
	}
}
?>

Ausgabe für dieses Beispiel:
Code:
500
2 4 200
95
202 35
200

Mein Problem:
Ich würde gerne die Ausgabe in ein zweidimensionales Array schreiben.
Das Array sollte genauso wie die Ausgabe befüllt werden. Genau das gelingt mir leider nicht :/

Würde mich über jede Hilfe freuen.

Gruß
Angelika
 
Es ist prinzipiell ganz einfach: Statt HTML-Zeilenumbruch auszugeben, fügst du den Array ein neuen Element hinzu und statt einen Wert auszugeben, fügst du ihn wiederum als neues Kind-Element des zuletzt angefügten Elements des Arrays hinzu.
 
@Gumbo: Sowas ähnliches habe ich bereits versucht. Meine Versuche habe ich auskommetiert.

Was soll ich z.B. an diese stelle machen: echo $arr[$i] . '<br />';

Deine Beschreibung habe ich an diese Stelle nicht verstanden: "statt einen Wert auszugeben, fügst du ihn wiederum als neues Kind-Element des zuletzt angefügten Elements des Arrays hinzu."

Gruß
Angelika
 
Ich stelle mir das Ganze etwa wie folgt vor:
PHP:
<?php

	$limit = 280;
	$arr = array(500, 2, 4, 200, 95, 202, 35, 200);
	$tmp = array();

	for( $i=0; $i<sizeof($arr); $i++ ) {
		if( $arr[$i] > $limit ) {
			echo $tmp[] = array($arr[$i]);
		} else {
			$sum = $arr[$i];
			$tmp[sizeof($tmp)-1][] = $arr[$i];
			for( $j=$i+1; $j<sizeof($arr); $j++ ) {
				$sum += $arr[$j];
				if( $sum > $limit ) {
				break;
				} else {
					$i++;
					$tmp[sizeof($tmp)-1][] = $arr[$i];
				}
			}
		}
	}

?>
 
Zurück