私はこの配列ループを持っています:
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);
2 つのオプション:
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;
}