将值插入数组

时间:2016-04-13 04:34:11

标签: php arrays foreach

我有以下数组

$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;
}

代码似乎不起作用..

2 个答案:

答案 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