我有以下数组
$block = array(
**********,
*****,
**********,
***,
********);
假设每个阵列的最大长度为10
我试图在该数组中插入新值,因此我的输出如下:
**********
*****00000
**********
***0000000
********00
以下是我的代码:
foreach($block as $key=>$newblock)
{
$counter = 10 - strlen($newblock);
if ($counter > 0)
{
for($x=0; $x < $counter; $x++)
{
$block[$key] = implode("0",$newblock);
}
}
}
foreach($block as $x)
{
print $x;
}
代码似乎不起作用..
答案 0 :(得分:1)
试试此代码
<?php
$block = array(
'**********',
'*****',
'**********',
'***',
'********');
foreach($block as $key=>$newblock)
{
$counter = 10 - strlen($newblock);
if ($counter > 0)
for($x=0; $x < $counter; $x++)
$block[$key] .= "0";
}
foreach($block as $x)
print $x."<br/>";
?>
输出
**********
*****00000
**********
***0000000
********00
答案 1 :(得分:1)
这很简单,使用函数str_pad($input,$length,$pad_string)
阅读有关str_pad()
<?php
$block = array('**********','*****','**********','***','********');
foreach($block as $key=>$val)
{
echo str_pad($val,10,"0");
echo "</br>";
}
?>
这将输出:
**********
*****00000
**********
***0000000
********00