Ответ 1
Не могли бы вы сделать это, например. array_slice
?
$a = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
array_slice($a, 1, 3);
HI,
Есть ли какая-либо встроенная функция PHP, которая возвращает диапазон записей из массива на основе начала и конца индекса?
то есть:.
array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
и теперь я хотел бы только возвращать записи между индексами 1 и 3 (b, c, d).
Любая идея?
Не могли бы вы сделать это, например. array_slice
?
$a = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
array_slice($a, 1, 3);
есть задача для array_slice
array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys = false ]] )
Пример:
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, 2); // returns "c", "d", and "e" $output = array_slice($input, -2, 1); // returns "d" $output = array_slice($input, 0, 3); // returns "a", "b", and "c" // note the differences in the array keys print_r(array_slice($input, 2, -1)); print_r(array_slice($input, 2, -1, true));
Используя array_intersect_key
$myArray = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
$arrayRange = array('1', '2', '3');
// this can also be used if you have integer only array values
// $arrayRange = range(1,3);
$newArray = array_intersect_key($myArray, array_flip($arrayRange));
print_r($newArray); // output: Array ( [1] => b [2] => c [3] => d )
$array1 = array(1,2,3,4,5,6,23,24,26,21,12);
foreach(range ($array1[0],$array1[5]) as $age){
echo "Age: {$age}<br />";
}
вы должны получить следующий результат:
Возраст: 1
Возраст: 2
Возраст: 3
Возраст: 4
Возраст: 5
Возраст: 6