我怎样才能遍历这个数组?并填充旋转木马?

时间:2015-03-13 14:51:26

标签: php arrays loops carousel

基本上我有这个数组:

$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视频ID(将在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> 

但是我不知道如何循环使用第一个轮播图像中的第一个元素,第二个轮播图像中的第二个元素等等......

2 个答案:

答案 0 :(得分: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 :(得分:1)

根据视频阵列,您可以集成此代码以使用每个阵列填充轮播。我会建议你使用&#34; foreach&#34;循环而不是&#34; for&#34;。

<?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
}