如何使最终的 foreach 实例在没有 , 字符的情况下结束?就目前而言,$var 2 的每个实例后面都跟着一个 、 字符。要遵循的代码,提前感谢。
foreach($tags as $var1 => $var2) {
if($_SESSION[$var1]!="off")
{
include($var2);
echo",";
//needs to include no , character on the last instance.
}
else
{
echo $var1;
}
}
在 foreach 中,将echo ",";
更改为以下内容:
if (end($tags) != $var2) {
echo ",";
}
这样做将通过将当前索引与 $tags
数组的最后一个索引进行比较来检查您是否在最后一个索引中。单击此处查看有关end()
函数的 PHP wiki。
使用它
,您可以检索带有end()
的最后一个元素,并获取与当前键进行比较key()
的关键:
foreach($tags as $var1 => $var2) {
if($_SESSION[$var1]!="off")
{
include($var2);
//needs to include no , character on the last instance.
if(key(end($tags)) !== $var1)
{
echo",";
}
}
else
{
echo $var1;
}
}
这将帮助你
$result = '';
foreach($tags as $var1 =>$var2) {
$result .= $var2.',';
}
$result = rtrim($result,',');
echo $result;
尝试使用 end()
函数获取最后一项:
$last_item = end(array_keys($tags));
foreach($tags as $var1 => $var2) {
if($_SESSION[$var1]!="off") {
{
include($var2);
if($var1 !== $last_key) {
echo",";
}
//needs to include no , character on the last instance.
}
else
{
echo $var1;
}
}
一种检查最后一个元素并回显逗号(,) 的方法
$numItems = count($tags );
$i = 0;
foreach($tags as $var1 =>$var2) {
if($_SESSION[$var1]!="off")
{
include($var2);
if(++$i != $numItems) {
echo ",";
}
}
else
{
echo $var1;
}
}
首先将所有
回声插入字符串中。然后使用preg_replace函数删除","的最终实例:
$str = preg_replace('/',$/', '', $str);
另一种方法是使用计数器:
$len = count($tags);
$iter = 0;
foreach($tags as $var1 => $var2) {
if($_SESSION[$var1]!="off")
{
include($var2);
if($iter != $len-1)
echo",";
//needs to include no , character on the last instance.
}
else
{
echo $var1;
}
$iter++;
}
结束() 函数的另一种方式
foreach($tags as $var1 => $var2) {
if($_SESSION[$var1]!="off")
{
include($var2);
if (end($tags) != $var2) {
echo",";
//needs to include no , character on the last instance.
}
else
{
echo $var1;
}
}