search for in the  
<str_padstr_replace>
Last updated: Thu, 19 May 2005

str_repeat

(PHP 4, PHP 5)

str_repeat -- Repeat a string

Description

string str_repeat ( string input, int multiplier )

Returns input_str repeated multiplier times. multiplier has to be greater than or equal to 0. If the multiplier is set to 0, the function will return an empty string.

Example 1. str_repeat() example

<?php
echo str_repeat("-=", 10);
?>

The above example will output:

-=-=-=-=-=-=-=-=-=-=

See also for, str_pad(), and substr_count().



User Contributed Notes
str_repeat
21-Jul-2003 12:45
str_repeat does not repeat symbol with code 0 on some (maybe all?) systems (tested on PHP Version 4.3.2 , FreeBSD 4.8-STABLE i386 ).

Use <pre>
while(strlen($str) < $desired) $str .= chr(0);
</pre> to have string filled with zero-symbols.
abodeman at enoughspamalready dot yahoo dot com
27-May-2003 04:35
Recursive functions are almost always slower than the corresponding iterative function. Therefore, dmarsh's function will be faster than Gail's.
Gal Chen
18-Mar-2003 09:18
a response to dmarsh
if u do wanna write a function that fills a string to a length its best to use a recoursive function

function str_repeattolength ($str, $length) {
  $strlength= strlen($str);
  if ($strlength>= $length) {
   return substr($str,0,$length);
  } else {
   return $str . str_repeattolength($str, $length - $strlength);
  }
}

or just use str_pad
bob at bobarmadillo dot com
20-Nov-2002 06:26
While dmarsh's function is nice it duplicates the function str_pad().
str_repeat is good when you want the entire string repeated.
For instance, if you want to put 6 &nbsp;'s in somewhere, str_pad will cut it off at odd places whereas str_repeat will return 6 full &nbsp's.

the following will return the same result as dmarsh's code.

$t = "-=-";
print str_pad('',0,$t)."\n";
print str_pad('',1,$t)."\n";
print str_pad('',2,$t)."\n";
...etc.
dmarsh dot NO dot SPAM dot PLEASE at spscc dot ctc dot edu
17-Sep-2002 06:15
If you need an alternate str_repeat function that outputs an exact length using a particular input string to fill that length (as opposed to repeating the input string), try this little gem:

<?php

// use this function:
function str_repeat2($input, $length) {
// returns the output exactly $length using $input to fill that length
$answer="";

if (
$length>=1 && strlen($input)>=1) {
$answer = substr(str_repeat($inputceil($length/strlen($input)) ), 0, $length);
}

return
$answer;
}

//demo the function's use:
$t="-=-";
print
str_repeat2($t,0)."\n";
print
str_repeat2($t,1)."\n";
print
str_repeat2($t,2)."\n";
print
str_repeat2($t,3)."\n";
print
str_repeat2($t,4)."\n";
print
str_repeat2($t,5)."\n";
print
str_repeat2($t,6)."\n";
?>
dakota at dir dot bg
25-Jun-2002 05:06
Note that the first argument is parsed only once, so it's impossible to do things like this:

echo str_repeat(++$i, 10);

The example will produce 10 times the value of $i+1, and will not do a cycle from $i to $i+10.
bryantSPAMw at geocities dot SPAM dot com
25-Oct-2001 06:16
(For the benefit of those searching the website:)

This is the equivalent of Perl's "x" (repetition) operator, for eg.  str_repeat("blah", 8) in PHP does the same thing as "blah" x 8 in Perl.

<str_padstr_replace>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT