array(
(int) 0 => '3',
(int) 1 => '5',
(int) 2 => '9',
(int) 3 => '14',
(int) 4 => '16',
(int) 5 => '17',
(int) 6 => '18',
(int) 7 => '19',
(int) 8 => '20',
(int) 9 => '23',
(int) 10 => '24',
(int) 11 => '25',
(int) 12 => '26',
(int) 13 => '28',
(int) 14 => '30',
(int) 15 => '31',
(int) 16 => '32',
(int) 17 => '33',
(int) 18 => '34',
(int) 19 => '35',
(int) 20 => '36',
(int) 21 => '37',
(int) 22 => '38',
(int) 23 => '39',
(int) 24 => '40',
(int) 25 => '41')
I have an array of numbers that I would like to iterate though via AJAX. lets say I wanted to show the first 5, then have an offset of 5.
how do I go through the array such that the first time i need it I am given [3,5,9,14,16], and then the second time [17,18,19,20,23], etc. etc.
I am thinking i would need a function that is fed the original array?
something like
function Something($array, $offset){
}
You could use array_slice()
to extract a portion of the array:
$offset = 5;
$chunk_size = 5;
$chunk = array_slice($array, $offset, $chunk_size);
var_dump($chunk);
Output:
array(5) {
[0]=>
string(2) "17"
[1]=>
string(2) "18"
[2]=>
string(2) "19"
[3]=>
string(2) "20"
[4]=>
string(2) "23"
}
Assuming you transmit the offset with each Ajax call and that the length of your portions will always be 5, then you can use array_slice
$array = array_slice($array, $offset, 5);
foreach( $array as $k => $v )
{
...
}