1

我需要用 PHP 代码创建字母 T:这是我目前所拥有的,但似乎无法弄清楚如何在前两行加上星号以扩展 T 的顶部:

<?php

echo "<pre>";
for ($row > 2; $row < 15; $row++) {
 for ($column = 2; $column < 12; $column++) {
 if (($row < 2 || $row < 2) || ($column < 2 || $column >= 6)) {
 echo "*";
 } 
 else echo " ";
 }
 echo "\n"; 
}
echo "</pre>";
?>
4

3 回答 3

0

开始你的 for 循环$row = 0

for ($row = 0; $row < 15; $row++) {

你忽略了前两行,只画了垂直线

也是($row < 2 || $row < 2)一样的$row < 2


如果您想了解更多信息,@j08691 找到了您的确切问题

于 2013-08-07T17:18:29.510 回答
0

您的代码中有几个错误。

for ($row > 2; $row < 15; $row++) {
 for ($column = 2; $column < 12; $column++) {

你为什么使用$row > 2and $column = 2?只是从零开始。

 if (($row < 2 || $row < 2) || ($column < 2 || $column >= 6)) {

为什么要检查它们是否$row < 2为真或$row < 2它们是否相同?

这是一个例子:

echo "<pre>";
for($i=0; $i <= 10; $i++){
  for($j = 0; $j < 10; $j++){
    if($i > 2 && ($j < 3 || $j > 6)){
      echo " ";
    }else{
      echo "*";
    }
  }
  echo "\n";
}
于 2013-08-07T17:28:08.617 回答
0
for ($row > 2; $row < 15; $row++) {

这个条件是错误的,应该是:

for ($row = 0; $row < 15; $row++) { 

和:

if (($row < 2 || $row < 2)

是错误的,并且没有做你可能认为它做的事情。

链接到您的线程j08691中的代码包含正确的解决方案,您可以使用它:

<?php

echo "<pre>";
for ($row = 0; $row < 15; $row++) {
for ($column = 0; $column <10; $column++) {
if (($row < 1 || $row > 15) ||( $column == 4)) {
echo "*";
} 
else echo " ";
}
echo "\n";
} 
echo "</pre>";

?>

查看现场演示

于 2013-08-07T17:30:14.333 回答