Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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/8/sorting/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 是否有“除”以外的任何手动方法;str_repeat";重复字符串?_Php - Fatal编程技术网

Php 是否有“除”以外的任何手动方法;str_repeat";重复字符串?

Php 是否有“除”以外的任何手动方法;str_repeat";重复字符串?,php,Php,我的意思是,如果我们给3,b作为传递到函数中的参数,它应该通过使用循环返回“bbb” 我尝试过一些代码,但我不想发布它,因为对于一个经验丰富的开发人员来说,它可能看起来很疯狂。我可以提供你的链接,这个问题在面试中被问到,主要是想用C或C++来计算。由于我是一名PHP实践者,我很想知道这在PHP中是可能的。下面是链接(第二轮:简单编码(3小时)) 一种方法是保留一个“虚拟”字符串,该字符串的长度足以比要生成的任何字符串都长。然后,我们可以使用preg\u replace将每个字符替换为输入的任何字

我的意思是,如果我们给3,b作为传递到函数中的参数,它应该通过使用循环返回“bbb”

我尝试过一些代码,但我不想发布它,因为对于一个经验丰富的开发人员来说,它可能看起来很疯狂。我可以提供你的链接,这个问题在面试中被问到,主要是想用C或C++来计算。由于我是一名PHP实践者,我很想知道这在PHP中是可能的。下面是链接(第二轮:简单编码(3小时))

一种方法是保留一个“虚拟”字符串,该字符串的长度足以比要生成的任何字符串都长。然后,我们可以使用
preg\u replace
将每个字符替换为输入的任何字符。最后,我们可以将替换字符串的子字符串替换为所需的长度

$dummy = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$length = 3;
$dummy = preg_replace('/./', 'b', $dummy);
$output = substr($dummy, 0, $length);
echo $output;
这张照片是:

bbb

如果您真的想这样做,可以将其包装成一个helper函数。请注意,在内部,正则表达式引擎很可能自己执行一些循环,因此我们并没有真正摆脱循环,只是将其隐藏在当前上下文中。

要执行此操作的PHP函数可能如下所示:

function string_repeat($num, $string)
{
    $result = "";
    for ($x = 0; $x < $num; $x++) {
        $result .= $string;
    }
    return $result;
}

这正是我想要的。如果事情这么简单,我需要想很多,下次再问一个问题。谢谢GrANTF,这已经回答了你的问题,请考虑将它标记为“-TimiGeEeleISEN”,你可以使用随机长度的字节来保证长度,参数的长度足够长。
bbb