Intereting Posts
Как отправить URL-адреса на php-сервер и вернуть ответ на андроид Получить переменное имя объекта внутри объекта php (SOLVED) Электронная почта для xampp: ошибка синтаксического анализа: синтаксическая ошибка, неожиданный '@' Проверка, является ли массив многомерным или нет? Сравнение паролей с crypt () в PHP imagecreatefrompng () Делает черный фон вместо прозрачного? PHP: Я смешиваю программирование, управляемое событиями, с сигнальными интерфейсами (сигналом и слотом / шаблоном наблюдателя)? Улучшите этот класс битового поля PHP для настроек / разрешений? Санизировать предложение в php HTML TABLE PHP MySQL переключает порядок сортировки MySQL ASC DESC на заголовок столбца как выбрать mysql-запрос с иностранным языком? как поддерживать UTF8 (японский, арабский, испанский, …) URL в PHP Функция проверки даты Php jQuery ajax вызов mysql Шаблон Data Mapper: сложный запрос из уровня сервиса

PHP – получение записей массивов по диапазону индексов

Всем привет,

Есть ли встроенная функция 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);  // возвращает «c», «d» и «e»,
 $ output = array_slice ($ input, -2, 1);  // возвращает "d"
 $ output = array_slice ($ input, 0, 3);  // возвращает "a", "b" и "c"

 // обратите внимание на различия в ключах массива
 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