我对数组相对来说是个新手,为了简洁地解决我的问题,我一直在努力处理大量的信息。这是我所取得的进展。
我的代码:
<?php
$imagearrdisplay = ",8,7,22,";
$displayitem = explode(",", $imagearrdisplay);
for($i = 0; $i < count($displayitem); $i++){
echo "
<div class='banner'><img src='/images/transitions/$displayitem[$i].jpg' /></div>
Count: $i = $displayitem[$i] ";
}
?>它当前返回的结果是:
<div class='banner'><img src='/images/transitions/.jpg' /></div>
Count: 0 =
<div class='banner'><img src='/images/transitions/8.jpg' /></div>
Count: 1 = 8
<div class='banner'><img src='/images/transitions/7.jpg' /></div>
Count: 2 = 7
<div class='banner'><img src='/images/transitions/22.jpg' /></div>
Count: 3 = 22
<div class='banner'><img src='/images/transitions/.jpg' /></div>
Count: 4 = 我希望取得以下成果:
这样才能产生如下结果:
<div class='firstbanner'><img src='/images/transitions/22.jpg' /></div>
<div class='banner'><img src='/images/transitions/7.jpg' /></div>
<div class='banner'><img src='/images/transitions/8.jpg' /></div我知道这是有可能的,尽管在外面的迷宫里挣扎着。任何帮助都会很感激的。
发布于 2011-11-07 11:30:48
试着:
$imagearrdisplay = trim(',8,7,22,', ',');
$displayitem = explode(',', $imagearrdisplay);
shuffle($displayitem);要检查元素是否是第一个,只需执行以下操作:
if ( $i == 0 ) {}发布于 2011-11-07 11:36:41
使用trim移除左侧和右侧的,。使用shuffle对数组进行随机化。
对于将$class变量初始化为第一个类的输出,然后对所有数字进行迭代,在第一个项之后将$class设置为普通类:
$imagearrdisplay = ",8,7,22,";
$displayitem = explode(",", trim($imagearrdisplay, ','));
shuffle($displayitem);
$class = 'firstbanner';
foreach($displayitem as $item)
{
$src = sprintf('/images/transitions/%d.jpg', $item);
printf("<div class=\"%s\">\n <img src=\"%s\">\n</div>\n", $class, $src);
$class = 'banner';
}演示
注意:如果使用最近的CSS版本,也可以使用:first-child伪类标识第一个横幅。
发布于 2011-11-07 11:29:48
你试过了吗?http://php.net/manual/en/function.ltrim.php
$imagearrdisplay = ltrim(",8,7,22,", ",");此外,您还可以使用洗牌将数组随机化:http://php.net/manual/en/function.shuffle.php
要对第一个图像进行样式化,可以使用CSS代替。
.banner:first-child
{
background-color:yellow;
height:50px
width:50px
}
<div class='banner'><img src='/images/transitions/22.jpg' /></div>
<div class='banner'><img src='/images/transitions/7.jpg' /></div>
<div class='banner'><img src='/images/transitions/8.jpg' /></div>演示:http://jsfiddle.net/Sapphion/dBDqh/
https://stackoverflow.com/questions/8035807
复制相似问题