PHP程序来创建一个方形块*&引用;由'包围的字符@';人物
尝试创建一些代码以生成如下块:PHP程序来创建一个方形块*&引用;由'包围的字符@';人物,php,html,Php,Html,尝试创建一些代码以生成如下块: @@@@@@@ @*****@ @*****@ @*****@ @*****@ @*****@ @@@@@@@ @@@@@@@ @*****@ @*****@ @*****@ @*****@ @*****@ @@@@@@@ 方形框的长度由$size变量确定 这是我的代码: <?php $size = 7; for($i = 0; $i < $size; $i++){ for($j = 0; $j < $size; $
@@@@@@@
@*****@
@*****@
@*****@
@*****@
@*****@
@@@@@@@
@@@@@@@
@*****@
@*****@
@*****@
@*****@
@*****@
@@@@@@@
方形框的长度由$size变量确定
这是我的代码:
<?php
$size = 7;
for($i = 0; $i < $size; $i++){
for($j = 0; $j < $size; $j++){
if($i = 0 || $i = $size-1){
echo('@');
}elseif($j = 0 || $j = $size-1)
echo('@');
else
echo('*');
}
echo("</br>");
}
?>
我有两个问题:
1) 为什么它只做一次外部for循环的迭代
2) 有更好的方法吗?
=
是比较运算符,而不是=
。例如,你在多个地方都有这个问题
if($i = 0 || $i = $size-1){
应该是
if($i == 0 || $i == $size-1) {
您不是在比较,而是在
if
和elseif
中定义$i
和$j
。您必须使用==
而不是=
$i
和$j
我会做一个这样的函数
<pre>
<?php
$size = 7;
for ($i = 0; $i < $size; $i++)
{
for ($j = 0; $j < $size; $j++)
{
if ($i == 0 || $i == $size - 1)
{
echo('@');
}
elseif ($j == 0 || $j == $size-1)
{
echo('@');
}
else
{
echo('*');
}
}
echo("</br>");
}
?>
</pre>
还可以使用
标签来标记输出。好的,这很有效。非常感谢。对不起,我刚开始使用PHP!
@@@@@@@
@*****@
@*****@
@*****@
@*****@
@*****@
@@@@@@@
<?php
function drawBox($size) {
$return = '';
for($i = 0; $i < $size; $i++) {
for($j = 0; $j < $size; $j++) {
if($i==0 || $j==0)
$return .= "@";
elseif($i==$size-1 || $j == $size-1)
$return .= "@<br/>";
else
$return .= "*";
}
}
return $return;
}
echo drawBox(7);
?>