0

请参阅此代码:

<?php

$a = rand(1, 10000000000);
$b = "abcdefghi";

?>

如何插入$b的随机位置$a

4

5 回答 5

4

假设“休闲”意味着随机:

<?php
$a = rand(1, 10000000000);
$b = "abcdefghi";

//get a random position in a
$randPos = rand(0,strlen($a));
//insert $b in $a
$c = substr($a, 0, $randPos).$b.substr($a, $randPos);

var_dump($c);
?>

以上代码工作:http ://codepad.org/VCNBAYt1

编辑:有向后的变量。我读到“将a插入b,

于 2012-06-07T16:38:54.103 回答
1

我想你可以通过将 $a 视为字符串并将其与 $b 连接:

$a = rand(1, 1000000);
$b= "abcd";
$pos = rand(0, strlen($a));
$a =  substr($a, 0, $pos).$b.substr($a, $pos, strlen($a)-$pos);

结果:

a=525019
pos=4
a=5250abcd19

a=128715
pos=5
a=12871abcd5
于 2012-06-07T16:41:36.293 回答
0

您应该将 {$b} 放在 {$a} 的顶部,以便您可以将其插入 {$b} .. 例如:

<?php
   $b = "abcdefghi";
   $a = rand(1, 10000000000);
   $a .= $b;
   echo $a;
?>
于 2012-06-07T16:33:32.917 回答
0

像这样:

<?php
$position = GetRandomPosition();  // you will have to implement this function
if($position >= strlen($a) - 1) {
    $a .= $b; 
} else {
    $str = str_split($a, $position);
    $a = $str[0] . $b . implode(array_diff($str, array($str[0])));
}
?>
于 2012-06-07T16:37:43.913 回答
0

将 $a 转换为字符串,然后使用strlen获取 $a 的长度。使用rand,以$a的长度为最大值,得到$a内的随机位置。然后使用substr_replace在您刚刚随机化的位置将 $b 插入 $a 中。

于 2012-06-07T16:42:20.543 回答