Почему массив, перебираемый в foreach, не удается обрезать при каждом проходе цикла с помощью сессии?

Написал скрипт, который должен обрезать массив на накапливаемое в сессии число элементов. Цифра в сессии накапливается с каждым запуском программы, но вот обрезки массива не происходит. Почему? Не понимаю.. (

Если врдампить сессию, то, действительно, прибавляет с каждым перезапуском программы. Что-то происходит в районе array_slice().

В моем варианте выдает ошибку: Parse error: syntax error, unexpected 'as' (T_AS) in W:\domains\localhost\par.php on line 19

if (isset($_SESSION["time"])) {
    /*var_dump($_SESSION["time"]);*/
}

foreach ((array_slice($matches[0], $_SESSION["time"], 0, true) as $key => $value) {

       if (is_string($value)) {
        /*var_dump(substr($value, 21));*/
    $cut = substr($value, 128);
    $output = 'https://yandex.ru/search/xml?user=&key=&query=' . urlencode($cut) . '&lr==ru&sortby=&filter=none&maxpassages=5&groupby=ocs-in-group%3D3';

    $result = file_get_contents($output);
      echo '<pre>';
      var_dump($value);
      var_dump($result);
      echo '</pre>';
       $fp = fopen("xml.txt", "a+");
     fwrite($fp, $result);
       fclose($fp);
       sleep(0.30);
      /* echo "<pre>";
       var_dump($result);
       echo "</pre>";*/
   }

    if($key == 10) {
          $key = $key + 1;
          break;
}

 }
$steam = $key;
$_SESSION["time"] += $steam;

Ответы (1 шт):

Автор решения: Valentin

Проблема решилась: Не совсем понял, из-за каких действий.

  1. Вот тут: $cut = substr($value, 128);

заменил 128 на 1.. может просто результат полностью обрезался и поэтому код не отрабатывал, как нужно..

  1. Также, может быть, зависал ли браузер, либо сервер...
→ Ссылка