Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: str_repeat - Manual
[go: Go Back, main page]

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

search for in the

str_replace" width="11" height="7"/> <str_pad
Last updated: Wed, 01 Nov 2006
view this page in

str_repeat

(PHP 4, PHP 5)

str_repeat -- 文字列を反復する

説明

string str_repeat ( string input_str, int multiplier )

inputmultiplier 回を繰り返した文字列を返します。 multiplier は、0 もしくは 0 より大きい必要があります。もし、multiplier が 0 に設定された場合、この関数は空文字を返します。

例 1. str_repeat()の例

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

上の例の出力は以下となります。

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

for, str_pad(), substr_count() も参照ください。



add a note add a note User Contributed Notes
str_repeat
nobody but me
22-Nov-2006 04: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 11: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
?>
22-Jul-2003 02: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
28-May-2003 06:35
Recursive functions are almost always slower than the corresponding iterative function. Therefore, dmarsh's function will be faster than Gail's.
Gal Chen
19-Mar-2003 12: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
21-Nov-2002 09: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
18-Sep-2002 08: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 07: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 08: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_replace" width="11" height="7"/> <str_pad
Last updated: Wed, 01 Nov 2006
 
 
show source | credits | sitemap | contact | advertising | mirror sites