有人知道如何用php打印这个模式吗
预期产出: 我当前的代码只输出模式,但不能有更多的梳:有人知道如何用php打印这个模式吗,php,Php,预期产出: 我当前的代码只输出模式,但不能有更多的梳: $n = 5; $n1 = 4; for ($i = 0; $i <= $n; $i++) { for ($j = 0; $j <= $n1; $j++) { if (($i == 0 || $i == 5) && ($j > 0 and $j < 3)) { if (($i == 0 &&a
$n = 5;
$n1 = 4;
for ($i = 0; $i <= $n; $i++) {
for ($j = 0; $j <= $n1; $j++) {
if (($i == 0 || $i == 5) && ($j > 0 and $j < 3)) {
if (($i == 0 && $j == 1) || ($i == $n && $j != 2)) {
printf(" ");
}
printf("$i");
} elseif (($j == 0 || $j == 3) && ($i != 0 and $i != 5)) {
if ($j == 0 && $i != 1 && $i != 4) {
printf("");
} elseif (($j == 3 && $i != 1 && $i != 4)) {
printf("  ");
} elseif ($j == 0) {
printf(" ");
}
printf("$i");
} else {
printf(" ");
}
}
echo "<be>";
`
$n=5;
$n1=4;
为了($i=0;$i只是为了好玩,我用JS编写了它,但转换成PHP可能非常简单(String.repeat=>str\u repeat
,[].push=>array\u push
,[].slice=>array\u slice
,等等)
const arr=[];
常量输出=(x=1,y=1)=>{
for(设k=0;k<5;k++){
arr.push([''重复(5-k),k',重复(k),k',重复(5-k)]。连接('')
}
对于(设k=5;k{
arr[index]=行+行.子字符串(1).重复(x-1);
});
常量=[…arr.slice(1)]
for(设i=1;i 输出(2,3)
最简单的方法是创建一个数组,其中1='*'和0=''
这是PHP7中创建模式的算法
注意:我已对代码进行了更改以优化代码
<?php
$max = 6;
// Arg
$arg1 = 2;
$arg2 = 2;
// Change to pair size when is non
if ($max % 2 != 0) {
++$max;
}
// Matrix with zero values
$t = \array_fill(0, $max * $arg1 - $arg1 + 1, \array_fill(0, $max * $arg2 - $arg2 + 1, 0));
// Lower: start left position
$lower = $max / 2 - 1;
// Upper: start right postion
$upper = $lower + 1;
// Set pattern in matrix
for ($i = 0, $n = $max - 1; $i <= $n; $i++, $lower--, $upper++) {
for ($a1 = 0; $a1 < $arg1; $a1++) {
for ($a2 = 0; $a2 < $arg2; $a2++) {
$y = $i + $max * $a1 - $a1;
$p = $max * $a2 - $a2;
// Set pixel pattern
$t[$y][$lower + $p] = $t[$y][$upper + $p] = 1;
}
}
// Restart lower?
if ($lower == 0) {
$lower = $max;
}
// Restart upper?
if ($upper == $n) {
$upper = -1;
}
}
echo '<pre>', \PHP_EOL;
foreach ($t as $r) {
foreach ($r as $v) {
if ($v) {
echo '*';
} else {
echo ' ';
}
}
echo \PHP_EOL;
}
echo '</pre>';
?>
1…5不是1…5…1
** **
* * * *
* * *
* * *
* * * *
** **
* * * *
* * *
* * *
* * * *
** **