2012-10-20 69 views
0

無論如何,我幾乎覺得這個基本問題很愚蠢。學習PHP我需要關於concat,聯合運算符和增量運算符的一些說明

我剛剛開始通過閱讀一些書籍學習PHP,在此之前,我曾經從一個在線教程漫遊到另一個,我應該從非常基本的開始,但是我首先將頭部潛入其中,foreach,同時,陣列等

儘管抓住了我現在認識到的那些概念,但有幾件事讓我感到困惑。

所以我在做這個簡單的練習,打印出編號從1到5使用++和* =乘以2.

$i = 1; 
echo $i.'-'.++$i.'-'.++$i.'-'.++$i.'-'.++$i; 

威力似乎這裏一切都很好,我的問題是,爲什麼,如果我回聲$我現在它返回5? 如果我想稍後重用它,我必須重新分配1到$ i嗎?

我試圖用相同的模式來回應2的冪,但我得到的只是第一個和最後一個乘法。

$p = 1; 
echo $p .'-'.$p*= 2 .'-'.$p*= 2 .'-'.$p*= 2 .'-'.$p*= 2 .'-'.$p*= 2 .'-'; 

這是否意味着,如果我用結合運營商和我將不得不一唱一和行中我不能使用級聯?

請記住,我僅限於使用前兩章中介紹的內容。

+4

請不要寫這樣的代碼。它是不可讀的,可能導致錯誤。 –

+1

另外,我們不知道你在讀什麼書,所以他們的前兩章對我們來說是一個謎。 – lanzz

+1

你永遠不會在生產中使用這種臭味的代碼。甚至沒有意義,也沒有明確的目的。這甚至不是教育。這只是無意義的東西混淆初學者。考慮扔書。 – CodeAngry

回答

0

看起來像是你想要一個for循環。

$stringVar = ""; 
for($i=1;$i<6;$i++) { 
    $stringVar .= "$i -"; 
} 
echo $stringVar; 

我會把第二個作爲練習留給你。

+0

我只被允許使用echo或print和組合操作符和連接。 –

+0

...爲什麼?針對該問題使用最佳解決方案。 – SomeKittens

+0

我知道,只是試圖按照本書的指示,我自己學會爲我的需要編寫WordPress插件,我想通過閱讀認可的書籍而不是免費的在線教程來提高我的PHP技能,也許從基本開始就會清楚我有一些疑慮,但是我發現事情對於這些基本的東西會變得更加混亂。 就像我在第二個使用* =運算符的例子中,它沒有輸出我認爲會的方式,我只有1-32,沒有錯誤或任何東西,所以我想知道爲什麼。 –

0

一個簡單的變量(如您的$ I)存儲一個數字

所以如果你做一個++ $ I,你做的一樣$ I = $我+1 這意味着你更改變量的內容

$ i = 1;
$ i_originalValue = $ i;
echo $ i .'-'。++ $ i .'-'。++ $ i。''。++ $ i。''。++ $ i;
echo $ i; //打印5
echo $ i_originalValue; //打印1

+0

好的,如果我將1賦值給$ i,後來我將它作爲++ $ i回顯,下一次我要使用該變量時,它將擁有最後分配給它的任何值,「無所謂」,我回應在這種情況下,值是否改變。 –

+0

是的,你明白了 – Luke94