我的意思是,如果我们将3,b作为传递给函数的参数,则应使用循环返回“ bbb”。
我已经尝试了一些代码,但是我不想发布它,因为对于一个精通的开发人员来说,它可能看起来很疯狂。我可以为您提供链接,这个问题是在访谈中提出的,主要是他们希望它可以用C或C ++计算。由于我是PHP的从业者,所以我很想知道在PHP中这是可能的。以下是链接(第2回合:简单编码(3小时)) https://www.geeksforgeeks.org/zoho-interview-set-3-campus/
答案 0 :(得分:1)
用于执行此操作的PHP函数可能如下所示:
function string_repeat($num, $string)
{
$result = "";
for ($x = 0; $x < $num; $x++) {
$result .= $string;
}
return $result;
}
因此调用echo string_repeat(3, 'b');
将输出:
bbb
答案 1 :(得分:0)
一种方法是保留一个“虚拟”字符串,该字符串的长度要比要生成的任何字符串长。然后,我们可以使用preg_replace
用输入的内容替换每个字符。最后,我们可以将替换字符串的子字符串替换为所需的长度。
$dummy = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$length = 3;
$dummy = preg_replace('/./', 'b', $dummy);
$output = substr($dummy, 0, $length);
echo $output;
此打印:
bbb
如果您确实想这样做,可以将其包装到一个辅助函数中。请注意,内部正则表达式引擎很可能会自己执行一些循环,因此我们并没有真正使自己摆脱循环,只是将其隐藏在当前上下文之外。