我有这个数组循环:
foreach ( $event_entrance as $event_entrance_s ) {
_e($event_entrance_s,'holidayge');
echo ', ';
}
我想comma
在最后一个循环结束时摆脱掉。
有任何想法吗?看起来很简单,但它不适合我:)
$fn = function($v) { return _e($v,'holidayge'); };
$arr = array_map($fn, $event_entrance );
echo implode(',', $arr);
两种选择:
implode
将东西放在一起,它可以轻松为您处理这种边缘情况。说真的,内爆很棒尝试这样的事情:
$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);
foreach ($event_entrance as $key => $event_entrance_s) {
_e($event_entrance_s,'holidayge');
if ($key < ($limit-1)) {
echo ', ';
}
}
只要您的键是整数和顺序的,这应该完全按照您的意图工作。如果您使用的是整数,但它们没有任何特定的顺序,则将其放在foreach()
循环之前将解决该问题:
$event_entrance = array_values($event_entrance);
如果您使用字符串作为键而不是整数,请尝试以下操作:
$limit = count($event_entrance);
$i = 1;
foreach ($event_entrance as $event_entrance_s) {
_e($event_entrance_s,'holidayge');
if ($i < $limit) {
echo ', ';
}
++$i;
}