Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.66/32: Рейтинг темы: голосов - 32, средняя оценка - 4.66
Lexxk27
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 5
1

Есть надобность обрезать массив от начала и до n

30.11.2013, 13:02. Просмотров 5875. Ответов 7
Метки нет (Все метки)

Добрый день

Есть надобность обрезать массив от начала и до n.



суть проблемы такая. foreach обрабатываю массив. по истечении 28 секунд php файл перезапускается. Вот и надо для нового выполнения скрипта обрезать массив на отработанные в предыдущем запуске элементы. сейчас идет пустая переборка массива до нужного мне элемента и потом продолжается выполнение действия с элементами. Но как оказалось на практике это не выход.

или как foreach запустить не сначала с первого значения, а допустим с $i= 100.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 13:02
Ответы с готовыми решениями:

Как обрезать массив по бокам
Здравствуйте. У меня такая проблема... Дан ассоциативный массив из n элементов...

Как обрезать двумерный массив
Есть массив с матрицей символа: 11111111111111111100000000...

Обрезать QByteArray с начала
Вот есть некий QByteArray Можно ли как-то обрезать несколько первых байт?...

Обрезать строку до начала цифр
Добрый день! Есть кучка строк вида по раб.дн....

Как обрезать строку с начала и конца?
Добрый день, помогите пожалуйста с такой проблемой в report server, есть имя...

7
V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
30.11.2013, 13:26 2
как вариант использовать цикл for, если это возможно
0
gbsoftware
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 429
30.11.2013, 13:27 3
По всей видимости array_splice спасет отца русской демократии
1
Lexxk27
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 5
30.11.2013, 14:32  [ТС] 4
Нашел такую функцию array_slice. все удолитворяет.
в таком виде array_slice($input, 2, -1,TRUE). работаем хорошо. Но что бы ключи не сбрасывались надо бписать TRUE. а что бы нормально работало функция с этим TRUE нужно указывать параметр "-1" тут. без него неправильно работает. а мне бы array_slice($input, 2, TRUE) в таком виде то что надо. опыта как понимаете мало в php. Как можно задать параметр что бы до конца массива работало


спасибо за оперативность gbsoftware, тока что нашел. эксперементирую)

Добавлено через 1 час 2 минуты
array_slice работает хорошо с примерами. простыми массивами.

Но вот в моем случае пишет вот эту ошибку

Warning: array_slice() expects parameter 1 to be array, object given in Z:\home\test1.ru\xml\test3.bak.php on line 47

не как не могу разобраться в чем проблема.


PHP
1
2
3
4
$xml= simplexml_load_file("./ocean_files_full.xml");
 
print_r(array_slice($xml->item, 1));
die();
причем этот массив перебирается foreach и просто дамп $xml->item отображает массив
0
r3ntg3n
112 / 93 / 15
Регистрация: 03.10.2012
Сообщений: 315
30.11.2013, 15:18 5
У вас в $xml->item находится объект, который реализует интерфейс ArrayInterator или что-то в этом роде, потому при использовании foreach все работает. Чтобы проверить, что ж з зверь у вас в $xml->item выполните
PHP
1
var_dump(get_type($xml->item));
1
Lexxk27
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 5
30.11.2013, 15:59  [ТС] 6
а можно цикл foreach запустить не с первого значения а с кого нужно мне? допустим у foreach 100 циклов от 1 до 100, можно мне запустить foreach допустим с 40 и дальше до 100 что бы он шел?

при неизменности масива
0
fanatikus
1095 / 1085 / 510
Регистрация: 17.11.2012
Сообщений: 4,799
30.11.2013, 16:21 7
может так
PHP
1
2
3
4
5
6
7
 $i=0;
  foreach($a as $v){
      if($i >= 40){
          echo $v;
          $i++;
      }
  }
1
r3ntg3n
112 / 93 / 15
Регистрация: 03.10.2012
Сообщений: 315
30.11.2013, 16:58 8
fanatikus, а зачем 40 лишних итераций?

PHP
1
2
3
4
5
$initialOffset = 40; // начальное смещение по массиву
for ($i = $initialOffset; $i <= count($xml->item); $i++)
{
    var_dump($xml->item[$i]);
}
1
30.11.2013, 16:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2013, 16:58

Если число Х есть в массиве, то вычислить сумму элементов массива от начала массива до последнего вложения этого числа в массив
Дан массив целых чисел, заданых случайным образом из диапазона от 29 до 35 и...

Указатели, надобность?
Для чего нужны указатели? Я разобрался что это и как использовать . Все в...

Обрезать массив строк
Есть определенный массив строк. Пишу так и возникает ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru