我有以下功能:
function simulator () {
for($x = 0; $x <= 1000; $x++) {
$var_1 = mt_rand(0,100);
if ($var_1 <= 55) {
$var_1 = " A";
echo $var_1;
$var_2 = mt_rand(0,100);
if ($var_2 <= 52) {
$var_2 = " A";
echo $var_2;
$var_3 = mt_rand(0,100);
if ($var_3 <= 52) {
$var_3 = " A";
echo $var_3;
$var_4 = mt_rand(0,100);
if ($var_4 <= 48) {
$var_4 = " A";
echo $var_4;
$var_5 = mt_rand(0,100);
if ($var_5 <= 45) {
$var_5 = " A";
echo $var_5;
$var_6 = mt_rand(0,100);
if ($var_6 <= 42) {
$var_6 = " A";
echo $var_6;
$var_7 = mt_rand(0,100);
if ($var_7 <= 29) {
$var_7 = " A";
echo $var_7;
}
}
}
}
}
}
}
echo " B";
}
}
simulator();
但不是显示结果,而是希望它被制作成一个巨大的字符串。
与$string = simulator()
一样,但我知道这不起作用。
有任何帮助吗?提前谢谢。
答案 0 :(得分:0)
您可以创建变量并将结果添加到变量中。
$result='';
$result.=do($something);
$result.=do($somethingElse);
return $result;
答案 1 :(得分:0)
只需将其添加到数组中,然后使用implode。
function simulator () {
$arr = [55, 52, 52, 48, 45, 42, 29];
$out = [];
for($x = 0; $x < 1001; $x++) {
foreach($arr as $val) {
$var = mt_rand(0,100);
if ($var > $val) {
$out[] = "B";
continue 2;
}
$out[] = "A";
}
}
return implode(" ", $out);
}
echo simulator();