2012-09-12 70 views
0

使用裏面的變量回顯HTML錨點非常困惑。PHP變量和字符串

<?php 
echo '&nbsp;&nbsp;<a href="?p=".$current_page +1".">Next</a>'; 
?> 

我已經嘗試了很多我失敗過的嘗試過的變體。其中一個嘗試是花括號{但仍然沒有。我知道我讓我的單引號和雙引號混淆起來!

有人請讓我直接在這一個。另外,PHP中的撇號和引號的規則是什麼。如果我想回應一些事情,我該怎麼開始,撇號或引用。

回答

6
<?php 
echo '&nbsp;&nbsp;<a href="?p='.($current_page + 1).'">Next</a>'; 
?> 

如果你想在回聲中做一些其他技巧的數學,你需要將它包括在括號中。

編輯:@DaveRandom指出,詭計子句的例外是$var++++$var

+0

現貨!這是我忘記的括號。非常感謝。 – ShadowStorm

+0

@ShadowStorm我認爲你的報價也需要一些小玩意,但這很容易解決。 – Fluffeh

+0

'如果你想在回聲中做一些其他技巧的數學,你需要將它包括在括號中。「 - 這個規則的例外是'$ var ++'和'++ $ var'。雖然實際上也有一個技巧來調用函數而不用使用變量變量引用引號,但它太可怕了,我甚至不會因爲擔心某個人使用它而發佈它。 – DaveRandom

2

如果在打印字符串時使用',則裏面的所有內容都將被視爲文本。

如果您使用",則傳入的變量將轉換爲其值。

但是不可能在"裏面進行數學運算。你必須逃避它並以'PHP方式'來完成。

<?php 
echo '&nbsp;&nbsp;<a href="?p=' . ($current_page +1) .'">Next</a>'; 
?> 
1

我假設你想這樣做:

echo '&nbsp;&nbsp;<a href="?p='.($current_page + 1)'.">Next</a>'; 
1

你可以試試這個

$link = '&nbsp;&nbsp;<a href="?p=%d">%s</a>'; 

printf($link, $current_page - 1, "Prev"); 
printf($link, $current_page + 1, "Next"); 
2

使用雙引號"something"和環繞用花括號中的變量時,他們是引號內。

echo "&nbsp;&nbsp;<a href='?p={$current_page+1}'>Next</a>"; 

你也可以使用字符串連接,這基本上意味着加入了幾個字符串連接在一起:

echo 'something' . 'something else' . $my_variable; 

至於逃避,如果裏面的一些報價的任何地方,你要插入相同類型的報價(例如,如果你用雙引號包圍你的腳本,並且你想插入一個雙引號),你需要通過在前面加上一個反斜槓來將這些引號轉義 - \

例如,你想輸出<a href="#url">Text</a>和你在雙引號包圍它,你需要用一個反斜槓\前面加上他們逃離href屬性這些雙引號,所以結果應該是<a href=\"#url\">Text</a>

以下是逸出並顯示字符的有效方法:

echo "it\" so nice to be here"; 
echo 'it\'s so nice to be here'; 
echo "it's so nice to be here"; // Different quotes, no need to escape 
echo 'it"s so nice to be here'; // Different quotes, no need to escape 

下面將導致一個錯誤:

echo 'it's so nice the be here'; 

由於PHP解釋將假定表達式將與結束在it's中找到引用,導致正在處理的行的其餘部分是無效的代碼。

有關更多信息,您可以閱讀echo()函數的PHP文檔以及有關Quotes and Strings的精彩文章。