我怎样才能像这样在PHP上循环

时间:2020-07-08 03:44:34

标签: php

代码应该像这样

01
002
0003
00004
000005
6000000
70000000
800000000
9000000000
10000000000

这是我的代码

for ( $i = 1; $i <= 10; $i++ ){
        echo "<br>";
        for ( $j = 1; $j <= $i; $j++ ){
            for( $k = 1; $k >= $j; $k-- ){
                echo $i;
            }
            if( $i >= $k ) {
                echo "0";
            }
        }
        if ($i >= 6) {
            echo "0";
        }else {
            echo $i;

        }
    }

我不能满意结果,你能帮我谢谢..没有错误,但结果很奇怪

2 个答案:

答案 0 :(得分:1)

您可以这样操作(不使用任何内置功能):


var rectData = [
    {"category" : "Maximinal Contributor (13)", "rx": 150 , "ry": 70},
    {"category" : "Top Performer (7)", "rx": 300 , "ry": 70},
  
]
var margin = {
 top:5, right: 95, bottom: 5, left: 60
};


var width = 650-margin.left-margin.right;
var height = 500-margin.top-margin.bottom;
var svgColor = "white"
var squareHeight = 100
var squareWidth = 100


//Create Main SVG
var svg = d3.select("body").append("svg")
  .attr("width",width+margin.left+margin.right) //attr manggil atribut
  .attr("height",height+margin.top+margin.bottom)
  //.attr("width", width)
  //.attr("height"), height)
  .style("background-color", svgColor)
  .call(responsivefy);
  
  console.log(width);
  console.log(height);
  console.log(svgColor);

//draw the rectangle 

var rectangle1 = svg.append ("rect")
                   .attr ("x",width*0.25)
                   .attr ("y",height*0.1)
                   .attr ("width", squareWidth)
                   .attr ("height", squareHeight)
                   .style("fill","#FFBF00");
var rectangle2 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth)+5)
                   .attr ("y",height*0.1)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#F3E2A9");

var rectangle3 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*2)+10)
                   .attr ("y",height*0.1)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#82FA58");

var rectangle4 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*3)+15)
                   .attr ("y",height*0.1)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#2E9AFE");

var rectangle5 = svg.append ("rect")
                   .attr ("x",(width*0.25))
                   .attr ("y",(height*0.1)+(squareWidth)+5)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#FFBF00");
    
var rectangle6 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth)+5)
                   .attr ("y",(height*0.1)+(squareWidth)+5)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#F3E2A9");

var rectangle7 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*2)+10)
                   .attr ("y",(height*0.1)+(squareWidth)+5)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#82FA58");
var rectangle8 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*3)+15)
                   .attr ("y",(height*0.1)+(squareWidth)+5)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#82FA58");

var rectangle9 = svg.append ("rect")
                   .attr ("x",(width*0.25))
                   .attr ("y",(height*0.1)+(squareWidth*2)+10)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#9F81F7");

var rectangle10 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth)+5)
                   .attr ("y",(height*0.1)+(squareWidth*2)+10)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#F3E2A9");

var rectangle11 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*2)+10)
                   .attr ("y",(height*0.1)+(squareWidth*2)+10)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#F3E2A9");

var rectangle12 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*3)+15)
                   .attr ("y",(height*0.1)+(squareWidth*2)+10)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#F3E2A9");

var rectangle13 = svg.append ("rect")
                   .attr ("x",(width*0.25))
                   .attr ("y",(height*0.1)+(squareWidth*3)+15)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#A901DB");

var rectangle14 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth)+5)
                   .attr ("y",(height*0.1)+(squareWidth*3)+15)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#9F81F7");

var rectangle15 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*2)+10)
                   .attr ("y",(height*0.1)+(squareWidth*3)+15)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#FFBF00");

var rectangle16 = svg.append ("rect")
                   .attr ("x",(width*0.25)+(squareWidth*3)+15)
                   .attr ("y",(height*0.1)+(squareWidth*3)+15)
                   .attr ("width",squareWidth)
                   .attr ("height",squareHeight)
                   .style("fill","#FFBF00");

//add wrapwidth

var wrapWidth = 50

//add the svg text element to the svg
var text = svg.selectAll("text")
              .data(rectData)
              .enter()
              .append("text");

//add the svg text element attributes      
var textLabels = text 
                .attr("x", function (d) {return d.rx;} )
                .attr("y",  function (d) {return d.ry;} )
                .attr("text-anchor","middle")
                .text(function (d) {return d.category;})
                .attr("font-family","sans-serif")
                .attr("font-size","15px")
                .attr("fill","black")
                .call(d3.util.wrap(wrapWidth));

输出将是:

for ( $i = 1; $i <= 10; $i++ ){
    if($i<=5){
        for ( $j = 1; $j <= $i; $j++ ){
            echo "0";
        }
        echo $i;
    }
    if($i>5){
        echo $i;
        for ( $j = 1; $j <= $i; $j++ ){
            echo "0";
        }
    }
    echo "<br>";
}

您可以在here

中测试此代码

答案 1 :(得分:0)

php中有一个字符串函数,称为str_pad()。此方法会将字符串填充到指定字符的新长度。

以下链接将有助于对上述字符串功能进行详细说明 https://www.php.net/manual/en/function.str-pad.php

上面的代码可以写成:

<?php
for($i=1;$i<=10;$i++){
  $length = $i+1;
  $direction = ($i <= 5) ? STR_PAD_LEFT : STR_PAD_RIGHT;

  echo str_pad($i,$length,"0", $direction);

  echo "<br>";
}
?>