как добавить нули в строку в переполнении стека

У меня есть строки: 23-65, 123-45, 2-5435, 345-4
Я хочу добавить к ним нули, чтобы все они выглядели как ###-#### (three digits dash four digits): 023-0065, 123-0045, 002-5435, 345-0004
Как я могу сделать это в php?
Спасибо!

-3

Решение

Вам нужно будет разделить их, используя

$parts = explode('-', $number);`

затем используйте str_pad функция:

$parts[0] = str_pad($parts[0], 3, "0");
$parts[1] = str_pad($parts[0], 4, "0");

а затем объединить их снова

$number = implode('-', $parts);

В качестве альтернативы вы можете дополнить их, используя vsprintf:

$number = vsprintf('%03d-%04d', $parts);
1

Другие решения

Пытаться:

$str = "23-65, 123-45, 2-5435, 345-4";
$numArray = explode(",",$str);
$str_new = "";

foreach($numArray as $nums) {
$nums = explode("-",$nums);
$num1 = str_pad($nums[0], 3, '0', STR_PAD_LEFT);
$num2 = str_pad($nums[1], 4, '0', STR_PAD_LEFT);
$str_new .= $num1."-".$num2.",";
}
$str_new = rtrim($str_new,",");

Выход:

023-0065, 123-0045,0 2-5435, 345-0004
1

По вопросам рекламы [email protected]