替换给定位置的字符,而不影响文件名中的另一个类似字符


Replace character at a given position without affecting another similar character within the filename

我有这种pdf文件名,

20160.pdf

我想替换0的位置4计数开始0,我尝试使用这样的东西,

$filename[0] = "20160";
$filename[1] = "pdf";
$adds        = 1;
$new_filename = str_replace($filename[0][4], $adds, $filename[0]) . '.' . $filename[1];

其中4 $filename[0][4]通过获取 filename[0] 的字符串长度生成。

问题是如何仅替换位置 4 处的字符而不影响文件名中的另一个类似字符?

你去吧!

$filename[0] = "20160";
$filename[1] = "pdf";
$adds        = 1;
$filename[0][strlen($filename[0]) - 1] = $adds;
echo $newfilename = $filename[0].'.'.$filename[1];

输出为"20161.pdf"