簡體   English   中英

在PHP中進行串聯的正確方法是什么?

[英]Whats the proper way to do concatenation in PHP?

我知道單引號和雙引號字符串之間存在區別。 在閱讀了其他stackOverfow問題並查看了本文之后 ,似乎大多數人都同意使用單引號引起的性能提升可以忽略不計。

作為一個新的PHP用戶, 始終使用雙引號似乎是最合理,最不易混淆的方法。 但是,為什么人們仍然拆分雙引號鏈接?

<?php

 $a = '12345';

 echo "Numbers: $a !"; //What I think is good
 echo "Numbers: " . $a . " !";  //What my teacher,book and tutorials use.
 echo 'Numbers: ' . $a . ' !'; // Trick that gave a noticeable performance gain pre-PHP 4.3

?>

為什么今天的PHP最新版本中會偏愛第二種還是第三種?

好吧,假設您有$a = "apple"; ,您想將其放在字符串"I love ______s!"

使用插值(您的“首選”方法),您可以嘗試以下操作: "I love $as!" ,但這當然是行不通的。

這就是為什么我更喜歡使用"I love ".$a."s!" ,因為這樣可以避免任何混淆。 無論出於何種原因,它也使將其更改為數組訪問變得非常容易,因此它具有“面向未來的更新能力”。 還應注意,大多數代碼編輯器都無法突出顯示插值變量,因此很難在視覺上找到它。

我通常使用第三種方式:

echo 'Numbers: ' . $a . ' !';

我盡可能使用單引號,因為我認為它看起來更干凈。 當我在字符串中需要換行符之類的東西時,我通常將其與字符串的其余部分分開編寫。 這也指出了這個“特殊”字符串:

echo 'Numbers: ' . $a . ' !' . "\n";

另外,我認為不清楚在雙引號字符串內是否包含變量(例如"like $so" ),並且在許多編輯器中都不會突出顯示語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM