hi guys ,
i've faced this example :
<?php
$my_head = str_repeat("°~", 35);
echo $my_head;
?>
so , the length should be 35x2 = 70 !!!
if we echo it :
<?php
$my_head = str_repeat("°~", 35);
echo strlen($my_head); // 105
echo mb_strlen($my_head, 'UTF-8'); // 70
?>
be carefull with characters and try to use mb_* package to make sure everything goes well ...
str_repeat
(PHP 4, PHP 5)
str_repeat — Repeat a string
Description
string str_repeat
( string
$input
, int $multiplier
)
Returns input repeated
multiplier times.
Parameters
-
input -
The string to be repeated.
-
multiplier -
Number of time the
inputstring should be repeated.multiplierhas to be greater than or equal to 0. If themultiplieris set to 0, the function will return an empty string.
Return Values
Returns the repeated string.
Examples
Example #1 str_repeat() example
<?php
echo str_repeat("-=", 10);
?>
The above example will output:
-=-=-=-=-=-=-=-=-=-=
See Also
- for
- str_pad() - Pad a string to a certain length with another string
- substr_count() - Count the number of substring occurrences
Anonymous ¶
1 year ago
Alper Kaya ¶
6 years ago
If you want to hide a part of your password, you can use this code. It's very simple and might be required in your user management panel.
<?php
$password = "12345abcdef";
$visibleLength = 4; // 4 chars from the beginning
echo substr($password,0,4).str_repeat("*", (strlen($password)-$visibleLength));
?>
Anonymous ¶
7 years ago
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
?>
Damien Bezborodov ¶
4 years ago
Here is a simple one liner to repeat a string multiple times with a separator:
<?php
implode($separator, array_fill(0, $multiplier, $input));
?>
Example script:
<?php
// How I like to repeat a string using standard PHP functions
$input = 'bar';
$multiplier = 5;
$separator = ',';
print implode($separator, array_fill(0, $multiplier, $input));
print "\n";
// Say, this comes in handy with count() on an array that we want to use in an
// SQL query such as 'WHERE foo IN (...)'
$args = array('1', '2', '3');
print implode(',', array_fill(0, count($args), '?'));
print "\n";
?>
Example Output:
bar,bar,bar,bar,bar
?,?,?
Anonymous ¶
9 years ago
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.
bryantSPAMw at geocities dot SPAM dot com ¶
11 years ago
(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.
dakota at dir dot bg ¶
11 years ago
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.
r3d dot w0rm at yahoo dot com ¶
3 years ago
str_repeat() Function Integer Overflow
For more info see :
http://bugs.php.net/bug.php?id=51105
claude dot pache at gmail dot com ¶
4 years ago
Here is a shorter version of Kees van Dieren's function below, which is moreover compatible with the syntax of str_repeat:
<?php
function str_repeat_extended($input, $multiplier, $separator='')
{
return $multiplier==0 ? '' : str_repeat($input.$separator, $multiplier-1).$input;
}
?>
Kees van Dieren ¶
4 years ago
Needed a function to repeat a string with a separator.
<?php
/**
* Repeats <tt>$string</tt> <tt>$multiplier</tt> times, separated with <tt>$sep</tt>.
*
* str_repeat_sep('?', ',', 3) ==> "?,?,?"
* str_repeat_seap('..', '/', 3) ==> "../../.."
*
* @param string $string
* @param string $sep
* @param int $multiplier
* @return string
*/
function str_repeat_sep($string, $sep, $multiplier) {
$ret = "";
for($i=0;$i<$multiplier;$i++) {
if ($i) $ret.=$sep;
$ret.=$string;
}
return $ret;
}
?>
divinity76 at gmail dot com ¶
1 year ago
no idea how many times i have written this.
function br($times=1,$definition="<br/>\n")
{
echo str_repeat($definition,$times);
}
