Как я могу пройти через этот массив? И залить карусель?

В основном у меня есть этот массив:

$videos = array('Aicw1LoHTmc' => '../v2assets/images/carousel/wk-img-9.jpg',
'ZfIoMBo2yOw' => '../v2assets/images/carousel/wk-img-2.jpg',
'LGs6Jvb5jqM' => '../v2assets/images/carousel/wk-img-3.jpg',
'RMbgEc-s5Jw' => '../v2assets/images/carousel/wk-img-4.jpg',
'enKA9qeAO4A' => '../v2assets/images/carousel/wk-img-5.jpg',
'lXBY5lPccfo' => '../v2assets/images/carousel/wk-img-6.jpg',
'DSDmjjj1Fuw' => '../v2assets/images/carousel/wk-img-7.jpg');

ключ — это идентификатор видео YouTube (будет использоваться в href (строка запроса), а значение — это путь к изображению, которое будет использоваться для карусели.

Вот как выглядит мой код для части карусели:

<img alt="" src="../v2assets/images/carousel/wk-img-1.jpg" class="img-responsive">
<div class="figcaption bg-base"></div>
<div class="figcaption-btn">
<a href="../v2assets/images/carousel/wk-img-1.jpg" class="btn btn-xs btn-b-white theater"><i class="fa fa-plus-circle"></i> Zoom</a>
<a href="#" class="btn btn-xs btn-b-white"><i class="fa fa-link"></i> View</a>
</div>

Я хочу, чтобы источник был изменен на путь в массиве, аналогично с первым href, а затем последний href будет содержать videoID (ключ массива).

Это то, что я до сих пор:

    <?php
$new = array();
foreach($videos as $key => $value){
$new[$key] = $value;
if($key == $v){
$offset = array_search($key, array_keys($new));
array_splice($new, $offset, 1, array('../v2assets/images/carousel/wk-img-1.jpg'));
}
}
$new = array_combine(str_replace("0","#",array_keys($new)), $new);
}
print_r($new);

                <!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item">
<div class="row">
<div class="col-md-3">
<div class="wp-block inverse">
<div class="figure">
<?php foreach($new as $key => $value){ ?>
<img alt="" src="<?php echo $value ?>" class="img-responsive">
<div class="figcaption bg-base"></div>
<div class="figcaption-btn">
<a href="<?php echo $value ?>" class="btn btn-xs btn-b-white theater"><i class="fa fa-plus-circle"></i> Zoom</a>
<a href="#" class="btn btn-xs btn-b-white"><i class="fa fa-link"></i> View</a>
</div>
<?php } ?>
</div>
<div class="row">
<div class="col-xs-9">
<h2>Title1</h2>
<small>Description1</small>
</div>

</div>
</div>
</div>
</div>
</div>
</div>
</div>

Однако я не знаю, как пройти через это, чтобы первый элемент отображался в первом изображении карусели, а второй элемент — во втором изображении карусели и так далее …

1

Решение

<?php foreach($array as $key => $value){ ?>
<img alt="" src="<?php echo $value; ?>" class="img-responsive">
<div class="figcaption bg-base"></div>
<div class="figcaption-btn">
<a href="<?php echo $key; ?>" class="btn btn-xs btn-b-white theater"><i class="fa fa-plus-circle"></i> Zoom</a>
<a href="<?php echo $key; ?>" class="btn btn-xs btn-b-white"><i class="fa fa-link"></i> View</a>
</div>

<?php } ?>

Это может быть то, что вы ищете. Учитывая, что вы в порядке с форматом.

1

Другие решения

Согласно Video Array вы можете интегрировать этот код, чтобы заполнить вашу карусель использованием для каждого массива. Я рекомендую вам использовать цикл «foreach» вместо «for».

<?php
$videos = array('Aicw1LoHTmc' => '../v2assets/images/carousel/wk-img-9.jpg',
'ZfIoMBo2yOw' => '../v2assets/images/carousel/wk-img-2.jpg',
'LGs6Jvb5jqM' => '../v2assets/images/carousel/wk-img-3.jpg',
'RMbgEc-s5Jw' => '../v2assets/images/carousel/wk-img-4.jpg',
'enKA9qeAO4A' => '../v2assets/images/carousel/wk-img-5.jpg',
'lXBY5lPccfo' => '../v2assets/images/carousel/wk-img-6.jpg',
'DSDmjjj1Fuw' => '../v2assets/images/carousel/wk-img-7.jpg');

//echo '<pre>'; print_r($videos); echo '</pre>';

foreach ($videos as $id => $img_src) {
?>
<img alt="" src="<?php echo $img_src ?>" class="img-responsive">
<div class="figcaption bg-base"></div>
<div class="figcaption-btn">
<a href="<?php echo $id ?>" class="btn btn-xs btn-b-white theater">
<i class="fa fa-plus-circle"></i> Zoom</a>
<a href="<?php echo $id ?>" class="btn btn-xs btn-b-white">
<i class="fa fa-link"></i> View</a>
</div>

<?php
}
1

По вопросам рекламы [email protected]