2015-07-21 304 views
0

我想嘗試一下,在PHP中使用我的名字創建一個鑽石圖案。 我的代碼是:爲什麼for循環沒有執行?

<?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循環是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循環的跡象。

Can任何機構都能告訴我問題是什麼?

任何幫助,將不勝感激。

CHEERS !!!

+0

你怎麼知道它不執行? –

+0

原因'當我在第二個循環中設置斷點時,IDE不執行該循環的內部部分! – Ikari

+1

因爲你的情況不滿足。即'$ j <= 1;' – Rikesh

回答

2
for($j = $len; $j <= 1; $j--) 

看看這個代碼,$j等於$len, $len大於1,你創建循環$j <= 1 - 所以直到$j小於或等於大於1 $j較高如此循環的不執行

所以再次嘗試設置$j = $len; $j >= 1; $j--

+0

謝謝它真的幫助我理解了很多! – Ikari

3

嘗試改變:

for($j = $len; $j <= 1; $j--) 

去:

for($j = $len; $j >= 1; $j--)