PHP: str_repeat - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

str_replace str_pad

Last updated: Sat, 27 Jan 2007

view this page in

# str_repeat

(PHP 4, PHP 5)

str_repeat -- Возвращает повторяющуюся строку

## Описание

string str_repeat ( string input, int multiplier )

Возвращает строку `input_str`, повторенную `multiplier` раз. `multiplier` должен быть больше или равен нулю. Если он равен нулю, возвращается пустая строка.

Пример 1. Пример использования str_repeat()

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

Выводит "-=-=-=-=-=-=-=-=-=-=".

См. также for, str_pad() и substr_count().

add a note User Contributed Notes
str_repeat
nobody but me
21-Nov-2006 11:32
`For anybody with older versions of PHP that do not support str_repeat(), here is a simple alternative:
<?php
if(!function_exists("str_repeat")) {
function str_repeat($word, $length) {
$repeated = "";
for($i=0; $i < $length; $i++) {
$repeated .= $word;
}
return $repeated;
}
}
?>`
15-Sep-2005 07:32
`In reply to what Roland Knall wrote:
It is much simpler to use printf() or sprintf() for leading zeros.
<?php
printf("%05d<br>\n", 1); // Will echo 00001
sprintf("%05d<br>\n", 1); // Will return 00001
?>`
21-Jul-2003 10: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 02: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 07: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 04: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 04: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($input, ceil($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 03: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 04: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.`
add a note
str_replace str_pad

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST