Hilfe beim aufsplitten eines Arrays

NanoNuna

Mitglied
Hallo zusammen,

ich habe ein Problem.
Und zwar geht es um aufsplitten eines Array's.

Mein Array das ich habe hat 24061 Element (von [0] - [24060])

Folgendermaßen soll dies aufgesplittet werden:

Ich lösche die ersten 803 Elemente dieses Arrays, somit ist die akutelle Position im Array
das Element [803].
Ab hier möchte ich das Array erst in 802 Elemente und diese 802 Elemente dann in 3x267 aufteilen.
Ihr werden jetzt sagen das gibt 801 Elemente, ja das stimmt!
Ich möchte gerne das erste Element von den 802 Elementen haben, danach möchte ich 267 Elemente entfernen und
die anderen 2x267 möchte ich wieder haben. Und soweit und so fort.....

Habe das schon mal versuch zu programmieren, aber das Array wird nicht richtig aufgesplittet.

PHP:
for ($i=0; $i<803; $i++)
{
	unset($ss_array[0][$i]);
}
//print_r($ss_array);

$ueber_gruppen_array=array();
$gruppen_array=array();

foreach ($ss_array as $key)
{	foreach ($key as $zkey => $value)
	{	
		array_push($ueber_gruppen_array, $value);
//		echo $ueber_gruppen_array[0];
		if(count($ueber_gruppen_array) == 802)
		{ 
			foreach($ueber_gruppen_array as $w => $v)	
		  	{
				array_push($gruppen_array, $v);
				$i++;
				if(count($gruppen_array) == 266)
				{
					$zaehler=$zaehler+1;
//		    		echo count($gruppen_array);
//					echo $zaehler;
					if ($zaehler >= 2)
					{ 
						sql='Insert Into'".print_r($gruppen_array)."<br>"; 
					}
	
					$gruppen_array=array();
					$ueber_gruppen_array=array();
			
					if($zaehler > 3)
					{
						$zaehler=null;
					}
				}
		  	}
		}
	}	 
}
Hoffe es kann mir jemand von Euch helfen? Bin um jede Hilfe dankbar.

Gruß
Nano
 
Hallo,

dank für dein Antwort.
Hat mir aber leider nicht viel gebracht, sorry.

Hat vielleicht jemand noch eine Idee

Vielen Dank im Voraus.

Gruß
Nano
 
Nicht viel gebracht?

Zeig mal deinen Versuch mit array_slice, dann kann ich dir auch weiterhelfen.


Edit: Hier mal ein kurzes Beispiel, was dir dein Array nach jedem 803. Element abschneidet und ausgibt:

PHP:
for ($i=0; $i<803; $i++)
{
    unset($ss_array[0][$i]);
} // die ersten 803 Elemente löschen

$offset = 0;	  // ab welchem element
$length = 803;	// länge des ausgeschnittenen arrays

while($offset < 24060-$length){  // durchläuft die schleife bis keine elemente mehr vorhanden sind
	$new_array = array_slice($ss_array[0], $offset, $length, true);  // siehe php.net-Funktionsreferenz
	
	$offset += $length;  // offset jedes mal um die gegebene länge erhöhen
	
	echo '<pre>';
	print_r($new_array);
	echo '</pre>';
}
 
Zuletzt bearbeitet:
Zurück