男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

基礎

PHP 中的變量用一個(gè)美元符號后面跟變量名來(lái)表示。變量名是區分大小寫(xiě)的。

變量名與 PHP 中其它的標簽一樣遵循相同的規則。一個(gè)有效的變量名由字母或者下劃線(xiàn)開(kāi)頭,后面跟上任意數量的字母,數字,或者下劃線(xiàn)。 按照正常的正則表達式,它將被表述為:'^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$'。

注意: 在此所說(shuō)的字母是 a-z,A-Z,以及 ASCII 字符從 128 到 255(0x80-0xff)。

注意: $this 是一個(gè)特殊的變量,它不能被賦值。 PHP 7.1.0 之前,間接賦值(例如通過(guò)使用可變變量)是可能的。

小技巧

請參見(jiàn)用戶(hù)空間命名指南。

有關(guān)變量的函數信息見(jiàn)變量函數。

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // 輸出 "Bob, Joe"

$4site 'not yet';     // 非法變量名;以數字開(kāi)頭
$_4site 'not yet';    // 合法變量名;以下劃線(xiàn)開(kāi)頭
$i站點(diǎn)is 'mansikka';  // 合法變量名;可以用中文
?>

變量默認總是傳值賦值。那也就是說(shuō),當將一個(gè)表達式的值賦予一個(gè)變量時(shí),整個(gè)原始表達式的值被賦值到目標變量。這意味著(zhù),例如,當一個(gè)變量的值賦予另外一個(gè)變量時(shí),改變其中一個(gè)變量的值,將不會(huì )影響到另外一個(gè)變量。有關(guān)這種類(lèi)型的賦值操作,請參閱表達式一章。

PHP 也提供了另外一種方式給變量賦值:引用賦值。這意味著(zhù)新的變量簡(jiǎn)單的引用(換言之,“成為其別名” 或者 “指向”)了原始變量。改動(dòng)新的變量將影響到原始變量,反之亦然。

使用引用賦值,簡(jiǎn)單地將一個(gè) & 符號加到將要賦值的變量前(源變量)。例如,下列代碼片斷將輸出“My name is Bob”兩次:

<?php
$foo 
'Bob';              // 將 'Bob' 賦給 $foo
$bar = &$foo;              // 通過(guò) $bar 引用 $foo
$bar "My name is $bar";  // 修改 $bar 變量
echo $bar;
echo 
$foo;                 // $foo 的值也被修改
?>

有一點(diǎn)重要事項必須指出,那就是只有有名字的變量才可以引用賦值。

<?php
$foo 
25;
$bar = &$foo;      // 合法的賦值
$bar = &(24 7);  // 非法; 引用沒(méi)有名字的表達式

function test()
{
   return 
25;
}

$bar = &test();    // 非法
?>

雖然在 PHP 中并不需要初始化變量,但對變量進(jìn)行初始化是個(gè)好習慣。未初始化的變量具有其類(lèi)型的默認值 - 布爾類(lèi)型的變量默認值是 false,整形和浮點(diǎn)型變量默認值是零,字符串型變量(例如用于 echo 中)默認值是空字符串以及數組變量的默認值是空數組。

示例 #1 未初始化變量的默認值

<?php
// 未設置和未引用(不使用上下文)的變量;輸出 NULL
var_dump($unset_var);

// Boolean usage; outputs 'false' (See ternary operators for more on this syntax)
echo($unset_bool "true\n" "false\n");

// String usage; outputs 'string(3) "abc"'
$unset_str .= 'abc';
var_dump($unset_str);

// Integer usage; outputs 'int(25)'
$unset_int += 25// 0 + 25 => 25
var_dump($unset_int);

// Float/double usage; outputs 'float(1.25)'
$unset_float += 1.25;
var_dump($unset_float);

// Array usage; outputs array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"// array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);

// Object usage; creates new stdClass object (see http://www.php.net/manual/en/reserved.classes.php)
// Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo 'bar';
var_dump($unset_obj);
?>

依賴(lài)未初始化變量的默認值在某些情況下會(huì )有問(wèn)題,例如把一個(gè)文件包含到另一個(gè)之中時(shí)碰上相同的變量名。 使用未初始化的變量會(huì )發(fā)出 E_NOTICE 錯誤,但是在向一個(gè)未初始化的數組附加單元時(shí)不會(huì )。isset() 語(yǔ)言結構可以用來(lái)檢測一個(gè)變量是否已被初始化。

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站