Получение данных из массива, начиная с определенного n-го элемента в Laravel - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть эти массивы внутри контроллера:

Public function home(){
     $images = [
          'img/image1.jpg',
          'img/image2.jpg',
          'img/image3.jpg',
          'img/image4.jpg',
          'img/image5.jpg',
          'img/image6.jpg'
     ];
     $rep_titles = [
          '外国美女路亚鲈鱼图片合集',
          '对人类有威胁的那些怪鱼 高清钓鱼图片',
          '那些被钓到的长牙的鱼 高清图片',
          '那些钓友去年钓上的巨物 高清图片',
          '垂钓图片 那些痴迷的美女',
          '冒雨征战秘密基地收获鳊鱼大板鲫',
     ],
}

и это, вид изнутри:

1ST Содержимое

@foreach (array_slice($images,0,3) as $keyIndex => $image)
     <div class="r-c-collection-container">
          <div class="img-content">
               <img src="{{ asset( $image ) }}" alt="{{ $image }}">
          </div>
          <div class="r-c-content">
               <a href="#" class="title">{{$rep_titles[$keyIndex]}}</a>
          </div>
     </div>
@endforeach

2-й контент (где я хочу начать с определенного n-го элемента массива, 3-й, если быть точным)

@foreach (array_slice($images,3,3) as $keyIndex => $image)
     <div class="r-c-collection-container">
          <div class="img-content">
               <img src="{{ asset( $image ) }}" alt="{{ $image }}">
          </div>
          <div class="r-c-content">
               <a href="#" class="title">{{$rep_titles[$keyIndex]}}</a>
          </div>
     </div>
@endforeach

Моя проблема в том, что элементы $rep_titles на 2-м контентевозвращается или возвращается к 1-му элементу, где элемент должен начинаться с 3-го элемента.У меня нет проблем с изображениями, потому что они начинаются там, где я хочу.Есть ли способ обойти это?

1 Ответ

0 голосов
/ 17 декабря 2018

Согласно документу array_slice вы случайно сбросили индекс массива на ноль.Вам нужен дополнительный четвертый параметр (логическое значение), чтобы указать, что вы не хотите, чтобы этот сброс происходил, например:

@foreach (array_slice($images, 3, 3, true) as $keyIndex => $image) {
    // rest of your code
}

From http://php.net/manual/en/function.array-slice.php:

preserve_keys

Обратите внимание, что array_slice () будет переупорядочивать и сбрасывать целочисленные индексы массива по умолчанию.Вы можете изменить это поведение, установив preserve_keys в TRUE.Строковые ключи всегда сохраняются независимо от этого параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...