簡體   English   中英

從C ++到PHP的'+'字符串運算符

[英]'+' string operator from c++ to php

我正在將簡單的代碼從C ++移植到PHP,但遇到了問題。 我將顯示兩個簡單的測試代碼來說明我的問題。

C ++代碼:

string Test = "something";
Test += 16;
cout << Test << endl;

PHP代碼:

$Test = "something";
$Test += 16;
echo $Test;

輸出是不同的,我不知道如何像在C ++中那樣使PHP產生'+'字符串運算符。 輸出:

C ++:

東西►

PHP:

16

它已經做到了。 僅:PHP是弱類型的。

讓我解釋:

C ++

string Test = "something";
Test += 16;

您有字符串Test。 在這里添加16。 因為它已經是一個字符串(一串字符),所以這16個字符將被視為一個字符:►。

的PHP

$Test = "something";
$Test += 16;

您有一個變量$ Test,在第一種情況下它包含一個字符串。
您添加一個整數。 PHP自動將第一種情況轉換為整數,以便他可以將其添加。 “某物”變為0,因此$ test變為0 + 16 = 16。

我想您想要的是:

$Test .= chr(16);

對於PHP中的串聯,您不使用加號,而是使用點。
對於字符,請使用chr

PHP中的。=運算符類似於C ++中的+ =

$Test = "something";
$Test .= 16;
echo $Test; // something16

實際上,您希望具有+=運算符的行為,因為+運算符無法將string和int用作參數,請參閱+運算符,了解string和int

您想要做的是將int轉換為char,然后將其附加到字符串中,就像c ++ +=運算符一樣。

暫無
暫無

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

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