用其他随机数字替换数字中的数字

时间:2016-10-24 17:31:27

标签: php string random replace

问题:

  • 我试图编写一个替换数字中的四位数的函数
  • 数字语法为XX.XXXXXXX(但长度可能会有所不同,但最少8位数字)
  • 我想要改变的数字总是在第5,第6,第7和第8(标记为Z - > XX.XXZZZZXXXX)
  • 替换Z的数字必须是随机的(或每个Z中的4个随机数字)

示例:

x=12.3456789 --> function --> 12.34xxxx9

其中xxxx是一个4位或4位数的随机数。

文档

我尝试过的事情:

注意:我从编码开始...超级菜鸟在这里。

function mynumber($x) {
//ok, it's not elegant but here i'm trying to get a number of 4 digits instead of digit by digit
$replacement = var_dump(random_int(1111, 9999));
//I've read about string replace but as the lenght may vary, i don't know how to delimitate the digits i want to change
$x = str_replace($x, $replacement, -?);
}

1 个答案:

答案 0 :(得分:0)

使用substr_replace()str_replace()将替换其他匹配数字,而不仅仅是在第5位到第8位:

$x = substr_replace($x, $replacement, 5, 4);

此外,您需要在函数中return $x;。或者要修改传递的变量,您需要通过引用传递它:

function mynumber(&$x) {