php 重复一个字符串N次并声明为变量[duplicate]

mfuanj7w  于 2023-09-29  发布在  PHP
关注(0)|答案(5)|浏览(100)

此问题已在此处有答案

Repeat a character N times(2个答案)
5天前关闭。
如果我有一个像这样的简单代码:

$a = "hi";

for ($i = 0; $i < 3; $i++)
{
    echo $a;
}

所以输出将是hihihi,是否可以将其转换为字符串,如$b="hihihi",而无需再通过循环?我把它用于其他功能。

pcrecxhr

pcrecxhr1#

您可以使用str_repeat($str, $count)来实现这一点:

$str = str_repeat("hi", 3);
echo $str;

上面的代码将打印“hihihi”。
下面是它的文档:http://www.php.net/manual/en/function.str-repeat.php

2hh7jdfx

2hh7jdfx2#

我会假设你的情况比给出的例子要复杂一点。。
一种选择是不将变量回显到缓冲区。相反,将它们附加到您自己的变量中:

$out = '';
for ($i = 0; $i < 3; ++$i) {
    $out .= 'hi';
}

echo $out; // "hihihi"

但是,如果出于某种原因,回显没有发生在您可以控制的代码中,则可以使用output buffering

ob_start();
for ($i = 0; $i < 3; ++$i) {
    doSomethingWhichPrintsHi();
}
$out = ob_get_clean();  // "hihihi"
yyyllmsg

yyyllmsg3#

有些选项没有循环:

$b = str_repeat('hi', 3); // hihihi

或者,如果你有一个数组:

$array = array ( 'hi', 'bye', '!!!' );
$b = implode('', $array); // hibye!!!
kx7yvsdv

kx7yvsdv5#

<?php
function stringdoubler($string, $duplicates) {
  if ($duplicates > 1)
    $string = $string . stringdoubler($string, $duplicates-1);
  return $string;
}

echo stringdoubler("hi",3);

?>

相关问题