пебебрать все элементы массива (foreach(), for()) проверить каждый элемент на принадлежность нужному диапазону Все нужные элементы сохранить во второй массив
array_slice(), array_splice() ? или такой вариант вырезания по значению ключей: Код (PHP): <?php $source = [ 0 => 'A', 1 => 'B', 2 => 'C', 3 => 'D', 4 => 'E', 5 => 'F', ]; $scissors = [ 2 => 0, 3 => 0 ]; var_export( array_intersect_key($source, $scissors) ); /* Result: array ( 2 => 'C', 3 => 'D', ) */
если алфавит это только пример, то неудачный, потому что мы знаем размер алфавита. и что мешает узнать размер массива и срезать до туда, до куда нам надо.
Да алфавит неудачный пример, на деле там даты типа 2015-11-23, источник json файл и пытаюсь сделать подобие выборки от - до . Понимаю что невозможно узнать размер среза заранее.
Теперь объясни "от и до" это по номерам по порядку или по значениям элементов? первое - array_slice() или фокус с intersect по ключам как я выше показал. второе - фильтрация через array_filter() с колбек-функцией.
Например от 2015-07-17 до 2015-09-25, однако там может быть повторений 2015-07-17,2015-07-17,2015-07-17 и упущений, тоесть в день может быть несколько записей но не каждый день, возможно ли срезать по периоду ?
Возможно. Перестань ждать, почитай справку и попробуй сам, наконец: http://php.net/array_filter Ты можешь задать любое условие фильтрации. Добавлено спустя 3 минуты 4 секунды: Работая с датами, надо иметь в виду тип данных. Строка это не дата, это представление даты. Почитай: viewtopic.php?f=20&t=50838
Плохо объяснил, пользователь ввел непровельную дату но нужно же как то реагировать вот такой массив Код (PHP): Array ( [0]=>2015-01-02 [0]=>2015-05-03 [0]=>2015-05-03 [0]=>2020-01-01 [0]=>2015-07-22 [0]=>2015-01-02 [0]=>2015-02-02 ) хотим вырезать от 2015-05-03 до 2015-01-02 не приходит в голову любое условие PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
так вырезать каждый раз разное необходимо будет? Добавлено спустя 1 минуту 32 секунды: Добавлено спустя 2 минуты 2 секунды: и ещё, а массив что, вообще не отсортированный? или это пример? )
Оказалось все очень просто Код (PHP): for($i=$ind1; $i <=$ind2; $i++){ $fin[$i] = $arr[$i];} pre($fin); } где $ind1 и $ind2 индексы значении PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Все правильно и потом найдём значения по индексу Есть проблема , у меня php3 и нет функции array_slice и array_search Как эмулировать array_search может знаете? плевать на отступы
я так и не понял, по какому критерю ты выбираешь $ind1 и $ind2 =) x2 Добавлено спустя 53 секунды: чот навеяло
Возьмешь массив, искомое значения мы знаем, через array_search и найдешь ключ - тот же $ind. Только array_search у меня нет и приходится гнать через foreach