[英]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.