Array durch eine Schleife teilen array_slice?

Maniac

Erfahrenes Mitglied
Moin, nun hab ich auch mal selbst ein Problem.
Ich habe ein Array mit ca 15000 Datensätzen, dieses muss ich in einer Schleife abbarbeiten.
Da aber jede Operation mit einem Datensatz ziemlich lange dauert, läuft die Schleife nicht durch, sondern bricht ab.
Ich habe mich entschlossen das mit Curl zu lösen, aber ich möchte nicht 15000 mal einen Curl-Aufruf starten.
So ca. 50 Datensätze in einem Curlaufruf hab ich mir gedacht sollte erstmal reichen.

Wie schaffe ich es nun das ich in der Schleife die 15000 mal durchläuft, immer nach 50 Datensätzen ein Array mit den letzten durchlaufenden Datensätzen zu erstellen?

Ich habe keine Möglichkeit mit Header zu arbeiten, welches den aktuellen Zeiger zurück liefern könnte.

Irgendwie hab ich grad nen Blackout...
 
Session kommt auch nicht in Frage, hab es nun glaub durch hilfe von nem Kollegen.
Was sagt Ihr dazu?
PHP:
$array = array();

$iTotalAmount = 15004;

for ($i=1;$i<=$iTotalAmount;$i++){
	$array[] = $i;
}


$b = 0;
$new = array();
$aCurlPost = array();
$iStepRange = 25;
foreach ($array as $key => $var){
	if ($b % $iStepRange == 0){
		if ($b > 0) {
			//curlrequest
			echo '<pre>' . print_r($aCurlPost, true) . '</pre>';
		}
		unset($aCurlPost);
		$aCurlPost = array();
	}
	$aCurlPost[$key] = $var;	
	$b++;
}
if (is_array($aCurlPost) && count($aCurlPost) > 0) {
	echo '<pre>' . print_r($aCurlPost, true) . '</pre>';
}

Ausgabe:
Code:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
    [9] => 10
    [10] => 11
    [11] => 12
    [12] => 13
    [13] => 14
    [14] => 15
    [15] => 16
    [16] => 17
    [17] => 18
    [18] => 19
    [19] => 20
    [20] => 21
    [21] => 22
    [22] => 23
    [23] => 24
    [24] => 25
)

Array
(
    [25] => 26
    [26] => 27
    [27] => 28
    [28] => 29
    [29] => 30
    [30] => 31
    [31] => 32
    [32] => 33
    [33] => 34
    [34] => 35
    [35] => 36
    [36] => 37
    [37] => 38
    [38] => 39
    [39] => 40
    [40] => 41
    [41] => 42
    [42] => 43
    [43] => 44
    [44] => 45
    [45] => 46
    [46] => 47
    [47] => 48
    [48] => 49
    [49] => 50
)

Array
(
    [50] => 51
    [51] => 52
    [52] => 53
    [53] => 54
    [54] => 55
    [55] => 56
    [56] => 57
    [57] => 58
    [58] => 59
    [59] => 60
    [60] => 61
    [61] => 62
    [62] => 63
    [63] => 64
    [64] => 65
    [65] => 66
    [66] => 67
    [67] => 68
    [68] => 69
    [69] => 70
    [70] => 71
    [71] => 72
    [72] => 73
    [73] => 74
    [74] => 75
)

Array
(
    [75] => 76
    [76] => 77
    [77] => 78
    [78] => 79
    [79] => 80
    [80] => 81
    [81] => 82
    [82] => 83
    [83] => 84
    [84] => 85
    [85] => 86
    [86] => 87
    [87] => 88
    [88] => 89
    [89] => 90
    [90] => 91
    [91] => 92
    [92] => 93
    [93] => 94
    [94] => 95
    [95] => 96
    [96] => 97
    [97] => 98
    [98] => 99
    [99] => 100
)
.....
 
Zurück