簡體   English   中英

PHP 中的 .= 運算符是什么意思?

[英]What does the .= operator mean in PHP?

我有一個被定義為的變量

$var .= "value";

dot equal函數的使用方法是什么?

它是連接賦值運算符。 它的工作原理類似於:

$var = $var . "value";

$x .=不同於$x = $x . 因為前者是就地的,但后者重新分配了$x

這是為了串聯

$var  = "test";
$var .= "value";

echo $var; // this will give you testvalue

. ” 運算符是字符串連接運算符。 和“ .= ”將連接字符串。

例子:

$var = 1;
$var .= 20;

這與:

$var = 1 . 20;

.= ”運算符是一個字符串運算符,它首先將值轉換為字符串; 由於“ . ”表示連接/追加,結果是字符串“ 120 ”。

事實上,當我們檢查變量時:

var_dump($var);

結果將是:
string(202)“120”
即變量的內容將更改為120!
不是1或20!

用非常簡單的語言來說,發生的事情是將每個變量中存儲的任何內容轉換為字符串,然后將每個字符串放入最終變量中,該變量包含每個變量的每個值放在一起。

我用它來生成一個由字母數字和特殊字符組成的隨機變量。 下面的例子:

function generateRandomString($length = 64) {
    $characters = '0123456789-!@#$%^*()?:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = mb_strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

然后為了獲得 $randomString 的值,我將一個變量分配給函數,就像這樣

$key = generateRandomString();
echo $key;

這樣做是從 $characters 變量中的任何字符中選擇一個隨機字符。 然后 .= 將這些隨機“選擇”中的每一個的結果放在一個新變量中,該變量具有來自名為 $randomString 的 $characters 字符串組的 64 個隨機選擇。

暫無
暫無

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

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