以下示例代码可以生成按照id组的PHP序列号:
$users = [
['id' => 1, 'name' => 'Alice'],
['id' => 1, 'name' => 'Bob'],
['id' => 2, 'name' => 'Charlie'],
['id' => 2, 'name' => 'David'],
['id' => 2, 'name' => 'Emily'],
];
$sequence_numbers_by_group = [];
foreach ($users as $user) {
$id = $user['id'];
if (!isset($sequence_numbers_by_group[$id])) {
$sequence_numbers_by_group[$id] = 0;
}
$sequence_numbers_by_group[$id]++;
$sequence_number = sprintf('%02d', $sequence_numbers_by_group[$id]);
printf('%d: %s%s' . PHP_EOL, $id, $user['name'], $sequence_number);
}
输出结果:
1: Alice01
1: Bob02
2: Charlie01
2: David02
2: Emily03
以上代码使用了数组和循环结构,在每个id组内维护序列号,同时使用sprintf函数来填充序列号到固定长度。
上一篇:按照Id重新排列行