首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP删除逗号,如果else语句

PHP删除逗号,如果else语句
EN

Stack Overflow用户
提问于 2011-11-07 11:24:59
回答 6查看 929关注 0票数 0

我对数组相对来说是个新手,为了简洁地解决我的问题,我一直在努力处理大量的信息。这是我所取得的进展。

我的代码:

代码语言:javascript
复制
<?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] ";

}

?>

它当前返回的结果是:

代码语言:javascript
复制
<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 =  

我希望取得以下成果:

  1. 删除图像显示中的第一个逗号和最后一个逗号,当它爆炸时,这样我就不会在开头和结尾出现空白图像。
  2. 将数组的结果随机化
  3. 执行if / css函数来查找和调整第一个结果,这样我就可以使用css对图像进行相应的样式设置。

这样才能产生如下结果:

代码语言:javascript
复制
<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

我知道这是有可能的,尽管在外面的迷宫里挣扎着。任何帮助都会很感激的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-11-07 11:30:48

试着:

代码语言:javascript
复制
$imagearrdisplay = trim(',8,7,22,', ',');
$displayitem = explode(',', $imagearrdisplay);
shuffle($displayitem);

要检查元素是否是第一个,只需执行以下操作:

代码语言:javascript
复制
if ( $i == 0 ) {}
票数 3
EN

Stack Overflow用户

发布于 2011-11-07 11:36:41

使用trim移除左侧和右侧的,。使用shuffle对数组进行随机化。

对于将$class变量初始化为第一个类的输出,然后对所有数字进行迭代,在第一个项之后将$class设置为普通类:

代码语言:javascript
复制
$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伪类标识第一个横幅。

票数 1
EN

Stack Overflow用户

发布于 2011-11-07 11:29:48

你试过了吗?http://php.net/manual/en/function.ltrim.php

代码语言:javascript
复制
$imagearrdisplay = ltrim(",8,7,22,", ",");

此外,您还可以使用洗牌将数组随机化:http://php.net/manual/en/function.shuffle.php

要对第一个图像进行样式化,可以使用CSS代替。

代码语言:javascript
复制
.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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8035807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档