Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用其他随机数字替换数字中的数字_Php_String_Random_Replace - Fatal编程技术网

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

Php 用其他随机数字替换数字中的数字,php,string,random,replace,Php,String,Random,Replace,问题: 我正试图写一个函数来替换数字中的四位数字 数字语法为XX.XXXXXXX(但长度可能有所不同,但最少为8位) 我要更改的数字始终为第5、第6、第7和第8位(标记为Z-->XX.XXZZZXXXXX) 替换Z的数字必须是随机的(或每个Z中有4个随机数字) 示例: x=12.3456789-->函数-->12.34xxxx9 其中xxxx是一个具有4位数字或4位不同数字的随机数 文档: 我所尝试的: 注意:我从编码开始。。。这里是超级新人 function mynumber($x

问题:

  • 我正试图写一个函数来替换数字中的四位数字
  • 数字语法为XX.XXXXXXX(但长度可能有所不同,但最少为8位)
  • 我要更改的数字始终为第5、第6、第7和第8位(标记为Z-->XX.XXZZZXXXXX)
  • 替换Z的数字必须是随机的(或每个Z中有4个随机数字)
示例:

x=12.3456789-->函数-->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, -?);
}
使用
substr\u replace()
作为
str\u replace()
将替换其他匹配的数字,而不仅仅是第5位到第8位:

$x = substr_replace($x, $replacement, 5, 4);
另外,您需要
返回$x。或者要修改传递的变量,需要通过引用传递:

function mynumber(&$x) {
使用
substr\u replace()
作为
str\u replace()
将替换其他匹配的数字,而不仅仅是第5位到第8位:

$x = substr_replace($x, $replacement, 5, 4);
另外,您需要
返回$x。或者要修改传递的变量,需要通过引用传递:

function mynumber(&$x) {

怎么样
$num=substr\u replace($num,random\u int(10009999),5,4)?如果您总是想替换第5、6、7和8位数字,则无需担心长度。您可以阅读并学习如何将数字转换为字符串,这将使替换所需的数字变得更加容易,而不是尝试做一些数学运算?如果您总是想替换第5、6、7和8位数字,则无需担心长度。你可以阅读并学习如何将数字转换成字符串,这将使替换你想要的数字变得更容易,而不是试图做一些数学运算。谢谢。因此,正确且良好的语法可能是这样的:
function mynumber($x){$replacement=var_dump(random_int(10009999));$x=substr_replace($x,$replacement,5,4);return$x;}
谢谢。因此,正确且良好的语法可能是这样的:
function mynumber($x){$replacement=var_dump(random_int(10009999));$x=substr_replace($x,$replacement,5,4);return$x;}