2016-10-24 31 views
1

問題:與其他隨機數字的號碼取代數字

  • 我試圖寫一個函數,它代替四位在一些
  • 數語法XX.XXXXXXX(但長度可但最小8位)
  • 數字我想總是改變第5,6,7和8位(標記爲Z - > XX.XXZZZZXXXX)
  • 要取代Z的數字,必須是隨機的(或4個隨機數數字在每個Z)

實施例:

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

其中xxxx是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, -?); 
} 
+0

'$ num = substr_replace($ num,random_int(1000,9999),5,4);'? –

+0

如果您一直想要替換第5,6,7和8位數字,則無需擔心長度。你可以閱讀和學習如何將一個數字轉換成一個字符串,這將使得替換你想要的數字變得容易,而不是試圖做一些數學。 –

回答

0

使用substr_replace()str_replace()將不只是在通過第8位第5取代其他匹配數字:

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

此外,您還需要return $x;的功能。或者要修改傳入的變量,您需要通過引用來傳遞它:

function mynumber(&$x) { 
+0

謝謝。所以,正確的和**好的語法可能類似於: 'function mynumber($ x){ $ replacement = var_dump(random_int(1000,9999)); $ x = substr_replace($ x,$ replacement,5,4); return $ x; }' – irek19

+0

是的...... – AbraCadaver