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
?,?,?
str_repeat
(PHP 4, PHP 5)
str_repeat — Bir dizgeyi yineler
Açıklama
string str_repeat
( string $girdi
, int $çarpan
)
girdi dizgesinin çarpan kere yinelendiği dizge ile döner.
Değiştirgeler
- girdi
-
Yinelenecek dizge.
- çarpan
-
Dizgenin yinelenme sayısı.
çarpan 0 veya sıfırdan büyük bir değer olmalıdır. Eğer çarpan 0 ise, işlev boş dizge döndürür.
Dönen Değerler
Yinelenmiş dizge döner.
Örnekler
Örnek 1 - str_repeat() örneği
<?php
echo str_repeat("-=", 10);
?>
Yukarıdaki örneğin çıktısı:
-=-=-=-=-=-=-=-=-=-=
Ayrıca Bakınız
- for
- str_pad() - Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur
- substr_count() - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur
str_repeat
Damien Bezborodov
28-Apr-2009 07:45
28-Apr-2009 07:45
claude dot pache at gmail dot com
10-Feb-2009 10:25
10-Feb-2009 10:25
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
16-Jan-2009 09:26
16-Jan-2009 09:26
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;
}
?>
Alper Kaya
30-Jun-2007 10:09
30-Jun-2007 10:09
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));
?>
15-Sep-2005 02: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 05: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.
dakota at dir dot bg
25-Jun-2002 10:06
25-Jun-2002 10: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 11:16
25-Oct-2001 11: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.
