次のようなリストを想定します。
$array = array('item1', 'item2', 'item3'); // etc...
次のようにカンマ区切りのリストを作成したいと思います。
implode(',', $array);
ただし、次のロジックを使用したいという複雑な点があります。アイテム インデックスが 10 の倍数の場合は、関数内の区切り記号',<br>'
だけでなく、代わりに使用します。','
implode()
PHPでこれを行う最良の方法は何ですか?
私はこのようにしましたが、もっと簡潔な方法があるのだろうか?
function getInventory($array, $title) {
$list = array();
$length = count($array);
$i = 1;
foreach($array as $item) {
$quantity = $item[1];
if(!$quantity)
$quantity = 1;
$item_text = $quantity . $item[3];
if($i > 9 && ($i % 10) == 0) {
$item_text .= ',<br>';
} elseif($i !== $length) {
$item_text .= ',';
}
$list[] = $item_text;
$i++;
}
$list = implode('', $list);
$inventory = $title . $list . '<br>';
return $inventory;
}