我想尝试在PHP中制作出我的名字中的钻石图案。 我的代码是:
<?php
/**
* Created by PhpStorm.
* User: gourab
* Date: 20/7/15
* Time: 10:35 PM
*/
$name = "GOURAB";
$revName = strrev($name);
$len = strlen($name);
for($i = 0; $i <= $len; $i++)
{
echo substr($name, $i)
. str_repeat(" ", $i)
. str_repeat(" ", $i)
. substr($revName, $i)
. "\n";
}
for($j = $len; $j <= 1; $j--)
{
echo substr($name, $j)
. str_repeat(" ", $j)
. str_repeat(" ", $j)
. substr($revName, $j)
. "\n";
}
第一个循环for($i = 0, $i <= 0; $i++)
正常工作并创建钻石的第一部分。
第一部分的输出:
GOURABBARUOG
OURAB ARUOG
URAB RUOG
RAB UOG
AB OG
B G
但第二个for循环for($j = $len; $j <= 1; $j--)
根本没有被执行。我在PHPStrom中对它进行了调试,当我在第二个for循环中添加了Break Point时,它没有显示执行for循环的迹象。
任何人都可以告诉我这是什么问题吗?
任何帮助都将不胜感激。
CHEERS !!!
答案 0 :(得分:3)
尝试改变:
for($j = $len; $j <= 1; $j--)
为:
for($j = $len; $j >= 1; $j--)
答案 1 :(得分:2)
for($j = $len; $j <= 1; $j--)
查看此代码,$j
等于$len, $len
大于1,并创建循环$j <= 1
- 所以直到$j
小于或等于1 { {1}}更高,所以循环不执行
所以请再次尝试设置$j