试图创建一些代码来创建一个像:
@@@@@@@
@*****@
@*****@
@*****@
@*****@
@*****@
@@@@@@@
Run Code Online (Sandbox Code Playgroud)
方框的长度由$ 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>");
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,此代码的输出是:
@@@@@@@
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1)为什么它只进行外部for循环的一次迭代?
2)有更好的方法吗?
==是比较运算符,而不是=.例如,你在多个地方遇到这个问题;
if($i = 0 || $i = $size-1){
Run Code Online (Sandbox Code Playgroud)
应该是
if($i == 0 || $i == $size-1) {
Run Code Online (Sandbox Code Playgroud)