简单
$s = array();
$s[1] = 0;
$s[2] = 3;
$s[3] = 1;
$s[4] = 0;
$s[5] = 0;
$s[6] = 1;
$s[7] = 0;
$d = array_fill(1,count($s),0);foreach($s as $k=>$v) {
  if($v > 0)
    for($i=0;$i<$v;$i++)
      $d[$i+$k+1] = $k;
}
print_r($d);