av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP基礎(chǔ)之變量1——基礎(chǔ)簡(jiǎn)介

瀏覽:3日期:2022-09-14 13:40:22

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

變量名與 PHP 中其它的標(biāo)簽一樣遵循相同的規(guī)則。一個(gè)有效的變量名由字母或者下劃線開(kāi)頭,后面跟上任意數(shù)量的字母,數(shù)字,或者下劃線。按照正常的正則表達(dá)式,它將被表述為:’[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*’。

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

Note: $this 是一個(gè)特殊的變量,它不能被賦值。

<?php

$var = ’Bob’;

$Var = ’Joe’;

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

$4site = ’not yet’; ????// 非法變量名;以數(shù)字開(kāi)頭

$_4site = ’not yet’; ???// 合法變量名;以下劃線開(kāi)頭

$i站點(diǎn)is = ’mansikka’; ?// 合法變量名;可以用中文

?>

變量默認(rèn)總是傳值賦值。那也就是說(shuō),當(dāng)將一個(gè)表達(dá)式的值賦予一個(gè)變量時(shí),整個(gè)原始表達(dá)式的值被賦值到目標(biāo)變量。這意味著,例如,當(dāng)一個(gè)變量的值賦予另外一個(gè)變量時(shí),改變其中一個(gè)變量的值,將不會(huì)影響到另外一個(gè)變量。

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

使用引用賦值,簡(jiǎn)單地將一個(gè) & 符號(hào)加到將要賦值的變量前(源變量)。例如,下列代碼片斷將輸出“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)重要事項(xiàng)必須指出,那就是只有有名字的變量才可以引用賦值。

<?php

$foo = 25;

$bar = &$foo; ?????// 合法的賦值

$bar = &(24 * 7); ?// 非法; 引用沒(méi)有名字的表達(dá)式

function test()

{

??return 25;

}

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

?>

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

Example #1 未初始化變量的默認(rèn)值

<?php

// Unset AND unreferenced (no use context) variable; outputs NULL

var_dump($unset_var);

// Boolean usage; outputs ’false’ (See ternary operators for more on this syntax)

echo($unset_bool ? 'truen' : 'falsen');

// 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)未初始化變量的默認(rèn)值在某些情況下會(huì)有問(wèn)題,例如把一個(gè)文件包含到另一個(gè)之中時(shí)碰上相同的變量名。另外把 register_globals 打開(kāi)是一個(gè)主要的安全隱患。使用未初始化的變量會(huì)發(fā)出E_NOTICE 錯(cuò)誤,但是在向一個(gè)未初始化的數(shù)組附加單元時(shí)不會(huì)。 isset() 語(yǔ)言結(jié)構(gòu)可以用來(lái)檢測(cè)一個(gè)變量是否已被初始化。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 色中色综合 | 日韩中文字幕第一页 | 日韩欧美在线播放 | 久久九九视频 | 国产高潮在线 | 欧美日韩黄色片 | 午夜久久久 | 逼逼操| 亚洲最新视频 | 精品黄色片 | 国产在线视频一区二区 | 亚洲成人免费在线 | 黄色一级大片在线免费看产 | 国产乱码精品一区二区三 | 国产午夜三级一区二区三 | 日本激情网 | 日本黄色三级视频 | 亚洲va韩国va欧美va精品 | 国产成人三级在线观看 | 日韩成人在线播放 | 国产乡下妇女做爰视频 | 麻豆av在线免费观看 | av网站免费在线观看 | 欧美天天干 | 一级片日韩 | 亚洲天堂一区二区三区 | 国产视频一 | 免费成人黄色网址 | 在线日韩一区 | 午夜视频在线看 | 免费成人在线观看视频 | 国产一区二区视频在线观看 | 日本特级淫片 | www.第四色| 国产精品久久久久久久久久久久久久 | 午夜视频在线播放 | 国产欧美日韩综合精品 | 国产精品成人av | 中文字幕在线观看一区二区三区 | 欧美成人午夜 | 亚洲成人a v|