Php 如何去掉最后一个数组项后的逗号?

Php 如何去掉最后一个数组项后的逗号?,php,loops,Php,Loops,我有一个数组循环: foreach ( $event_entrance as $event_entrance_s ) { _e($event_entrance_s,'holidayge'); echo ', '; } 我想去掉最后一个循环末尾的逗号。 有什么想法吗?看起来很简单,但对我来说不是这样:两个选项: 使用内爆将东西放在一起,它可以轻松处理此边缘情况。说真的,内爆是伟大的 通过访问元素键并省略逗号(如果它是最后一个元素),确定您是否在最后一个元素上(可能带有计数)。

我有一个数组循环:

 foreach ( $event_entrance as $event_entrance_s ) {
    _e($event_entrance_s,'holidayge');
    echo ', ';
 }
我想去掉最后一个循环末尾的逗号。 有什么想法吗?看起来很简单,但对我来说不是这样:

两个选项:

使用内爆将东西放在一起,它可以轻松处理此边缘情况。说真的,内爆是伟大的 通过访问元素键并省略逗号(如果它是最后一个元素),确定您是否在最后一个元素上(可能带有计数)。 两种选择:

使用内爆将东西放在一起,它可以轻松处理此边缘情况。说真的,内爆是伟大的 通过访问元素键并省略逗号(如果它是最后一个元素),确定您是否在最后一个元素上(可能带有计数)。
试着这样做:

$event_entrance_count = count($event_entrance);

$loop_number = 1;

foreach ( $event_entrance as $event_entrance_s ) {
     _e($event_entrance_s,'holidayge');
     if(!$loop_number == $event_entrance_count) {
         echo ', ';
     }
     $loop_number++;
}
$limit = count($event_entrance);
$i = 1;
foreach ($event_entrance as $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($i < $limit) {
        echo ', ';
    }
    ++$i;
}

试着这样做:

$event_entrance_count = count($event_entrance);

$loop_number = 1;

foreach ( $event_entrance as $event_entrance_s ) {
     _e($event_entrance_s,'holidayge');
     if(!$loop_number == $event_entrance_count) {
         echo ', ';
     }
     $loop_number++;
}
$limit = count($event_entrance);
$i = 1;
foreach ($event_entrance as $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($i < $limit) {
        echo ', ';
    }
    ++$i;
}
那么

$limit = count($event_entrance);

foreach ($event_entrance as $key => $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($key < ($limit-1)) {
        echo ', ';
    }
}
如果使用字符串作为键而不是整数,请尝试以下操作:

$event_entrance_count = count($event_entrance);

$loop_number = 1;

foreach ( $event_entrance as $event_entrance_s ) {
     _e($event_entrance_s,'holidayge');
     if(!$loop_number == $event_entrance_count) {
         echo ', ';
     }
     $loop_number++;
}
$limit = count($event_entrance);
$i = 1;
foreach ($event_entrance as $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($i < $limit) {
        echo ', ';
    }
    ++$i;
}
那么

$limit = count($event_entrance);

foreach ($event_entrance as $key => $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($key < ($limit-1)) {
        echo ', ';
    }
}
如果使用字符串作为键而不是整数,请尝试以下操作:

$event_entrance_count = count($event_entrance);

$loop_number = 1;

foreach ( $event_entrance as $event_entrance_s ) {
     _e($event_entrance_s,'holidayge');
     if(!$loop_number == $event_entrance_count) {
         echo ', ';
     }
     $loop_number++;
}
$limit = count($event_entrance);
$i = 1;
foreach ($event_entrance as $event_entrance_s) {
    _e($event_entrance_s,'holidayge');
    if ($i < $limit) {
        echo ', ';
    }
    ++$i;
}

循环结束后,如果最后一个字符是逗号,请去掉它,如果它没有输入loop@MichaelRushton对这是我的翻译引擎所必需的。如果你发布你的函数代码,我可以在我的答案中添加另一个建议,实现preinheimer所说的内爆方法。它将优雅地工作,尽管它需要比已经提供的建议更多的代码,这些建议同样有效。@jdstankosky:_e是一个WordPress函数。用户可能不想替换它。循环结束后,如果最后一个字符是逗号,请去掉它,如果它没有输入loop@MichaelRushton对这是我的翻译引擎所必需的。如果你发布你的函数代码,我可以在我的答案中添加另一个建议,实现preinheimer所说的内爆方法。它将优雅地工作,尽管它需要比已经提供的建议更多的代码,这些建议同样有效。@jdstankosky:_e是一个WordPress函数。用户可能不想替换它。@itachi内爆可能只适合一行,是的,但为准备它,您需要创建一个全新的数组,这样您就可以在调用内爆之前将foreach循环中打印的每个字符串添加到该数组中。如何提高效率?有两种方法。1它消除了每次foreach运行时检查if语句的需要。2它消除了不同逻辑的混淆。意大利面code@itachi内爆可以放在一行上,是的,但是准备它需要创建一个全新的数组,这样在调用内爆之前,就可以将foreach循环中打印的每个字符串添加到该数组中。如何提高效率?有两种方法。1它消除了每次foreach运行时检查if语句的需要。2它消除了不同逻辑的混淆。意大利面code@jdstankosky:第一行声明接受参数并返回所需字符串的函数。第二行在数组中循环,将函数应用于每个成员,并将结果存储在数组$arr中。最后一行在上内爆新数组,。请看一下array_map和array_walk函数。他们真的很酷。是的,绝对是巫毒/我跑向php。net@jdstankosky:第一行声明接受参数并返回所需字符串的函数。第二行在数组中循环,将函数应用于每个成员,并将结果存储在数组$arr中。最后一行在上内爆新数组,。请看一下array_map和array_walk函数。他们真的很酷。是的,绝对是巫毒/我跑向php.net