MON*_*AAA 11 php foreach loops comma
我使用foreach循环从我的数据库中回显出一些值,并用逗号分隔它们,但我不知道如何删除它在最后一个值上添加的最后一个逗号.
我的代码非常简单,但我似乎无法找到正确的方法:
foreach ($this->sinonimo as $s){
echo '<span>'.ucfirst($s->sinonimo).',</span>';
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢任何帮助:)
Séb*_*ien 23
将您的值放在一个数组中,然后implode用逗号(+一个更清洁的空格)放入该数组:
$myArray = array();
foreach ($this->sinonimo as $s){
$myArray[] = '<span>'.ucfirst($s->sinonimo).'</span>';
}
echo implode( ', ', $myArray );
Run Code Online (Sandbox Code Playgroud)
这会将逗号放在每个值之间,但不会在最后.同样在这种情况下,逗号将在跨度之外,如:
<span>Text1<span>, <span>Text2<span>, <span>Text3<span>
Run Code Online (Sandbox Code Playgroud)
您的代码的另一种方法是有点逻辑:
hasComma = false;
foreach ($this->sinonimo as $s){
if (hasComma){
echo ",";
}
echo '<span>'.ucfirst($s->sinonimo).'</span>';
hasComma=true;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
将分隔符视为值之前的前缀,第一个预设为 '' (空字符串),然后在每个元素后面设置为 ', ':
$s = '';
foreach ($names as $name) {
echo $s . $name;
$s = ', ';
}
Run Code Online (Sandbox Code Playgroud)
我通常会尽量避免为这些用例添加逻辑.最好的方法是将值存储在数组中并使用逗号进行内部处理.
但是,您可以通过CSS添加逗号,这更容易.
你干净漂亮的循环:
foreach($collection->object as $data)
{
echo "<span>" . $data->var . "</span>";
}
Run Code Online (Sandbox Code Playgroud)
而对于CSS:
.selector span:after {
content: ",";
}
.selector span:last-child:after {
content: "";
}
Run Code Online (Sandbox Code Playgroud)
这适用于所有主流浏览器,包括IE8和更新版本.
| 归档时间: |
|
| 查看次数: |
15445 次 |
| 最近记录: |