PHP中的每個(gè)變量都有一個(gè)針對它的作用域,它是指可以在其中訪問變量(從而訪問它的值)的一個(gè)領(lǐng)域。對于初學(xué)者來說,變量的作用域是它們所駐留的頁面。我們?yōu)榇蠹沂占砹岁P(guān)于PHP的變量,以方便大家參考。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比鄲城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鄲城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鄲城地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
變量是程序中或以變化的量,用于存儲數(shù)字、字符串或函數(shù)的結(jié)果。
一旦設(shè)置了某個(gè)變量,我們就可以在腳本中重復(fù)地使用它。
PHP 中的所有變量都是以 $ 符號開始的。
在 PHP 中設(shè)置變量的正確方法是:
$var_name = value;
PHP 的入門者往往會忘記在變量的前面的 $ 符號。如果那樣做的話,變量將是無效的。
下面我們創(chuàng)建一個(gè)存有字符串的變量,和一個(gè)存有數(shù)值的變量:
$txt = "Hello World!";
$number = 16;
?
PHP 是一門松散類型的'語言(Loosely Typed Language)
在 PHP 中,不需要在使用變量之前先聲明該變量。
在上面的例子中,您看到了,不必向 PHP 聲明該變量的數(shù)據(jù)類型。
根據(jù)變量被設(shè)置的方式,PHP 會自動地把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型。
在強(qiáng)類型的編程語言中,您必須在使用前聲明變量的類型和名稱。
在PHP中,變量會在使用時(shí)被自動聲明。
變量的命名規(guī)則
變量名必須以字母或下劃線 "_" 開頭。
變量名只能包含字母數(shù)字字符以及下劃線。
變量名不能包含空格。
如果變量名由多個(gè)單詞組成,那么應(yīng)該使用下劃線進(jìn)行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString)。
變量名 =》 zval
變量值 =》zend_value
問題:
引用計(jì)數(shù)
變量傳遞,變量賦值
變量的基礎(chǔ)結(jié)構(gòu)
變量值:zend_value?
typedef union _zend_value {
zend_long? ? ? ? lval;? ? ? ? ? ? /* long value */
double? ? ? ? ? ? dval;? ? ? ? ? ? /* double value */
zend_refcounted? *counted;
zend_string? ? ? *str;
zend_array? ? ? *arr;
zend_object? ? ? *obj;
zend_resource? ? *res;
zend_reference? *ref;
zend_ast_ref? ? *ast;
zval? ? ? ? ? ? *zv;
void? ? ? ? ? ? *ptr;
zend_class_entry *ce;
zend_function? ? *func;
struct {
? uint32_t w1;
? uint32_t w2;
} ww;
} zend_value;
變量名:_zval
typedef struct _zval_struct? ? zval;
struct _zval_struct {
zend_value? ? ? ? value;? ? ? ? /* value */
union {
? struct {
? ? ZEND_ENDIAN_LOHI_4(
? ? ? ? zend_uchar? ? type,? ? ? ? ? /* active type */
? ? ? ? zend_uchar? ? type_flags,
? ? ? ? zend_uchar? ? const_flags,
? ? ? ? zend_uchar? ? reserved)? ? ? ? /* call info for EX(This) */
? } v;
? uint32_t type_info;
} u1;
union {
? uint32_t? ? var_flags;
? uint32_t? ? next;? ? ? ? ? ? ? ? /* hash collision chain */
? uint32_t? ? cache_slot;? ? ? ? ? /* literal cache slot */
? uint32_t? ? lineno;? ? ? ? ? ? ? /* line number (for ast nodes) */
? uint32_t? ? num_args;? ? ? ? ? ? /* arguments number for EX(This) */
? uint32_t? ? fe_pos;? ? ? ? ? ? ? /* foreach position */
? uint32_t? ? fe_iter_idx;? ? ? ? ? /* foreach iterator index */
} u2;
};
變量類型【type】
/* regular data types */
#define IS_UNDEF? ? ? ? ? ? ? 0
#define IS_NULL? ? ? ? ? ? ? ? ? 1
#define IS_FALSE? ? ? ? ? ? ? 2
#define IS_TRUE? ? ? ? ? ? ? ? ? 3
#define IS_LONG? ? ? ? ? ? ? ? ? 4
#define IS_DOUBLE? ? ? ? ? ? ? 5
#define IS_STRING? ? ? ? ? ? ? 6
#define IS_ARRAY? ? ? ? ? ? ? 7
#define IS_OBJECT? ? ? ? ? ? ? 8
#define IS_RESOURCE? ? ? ? ? ? ? ? 9
#define IS_REFERENCE? ? ? ? ? ? 10
/* constant expressions */
#define IS_CONSTANT? ? ? ? ? ? ? ? 11
#define IS_CONSTANT_AST? ? ? ? ? ? 12
/* fake types */
#define _IS_BOOL? ? ? ? ? ? ? 13
#define IS_CALLABLE? ? ? ? ? ? ? ? 14
/* internal types */
#define IS_INDIRECT? ? ? ? ? ? ? ? 15
#define IS_PTR? ? ? ? ? ? ? ? 17
true 和 flase 沒有zend_value 結(jié)構(gòu), 直接通過type來區(qū)分,zend_long和double的變量指直接存儲在_zend_value中,不需要額外的value指針。
數(shù)據(jù)類型有三種:
1.標(biāo)量數(shù)據(jù)類型
標(biāo)量數(shù)據(jù)類型包括以下幾種。
(1)boolean:布爾型
布爾變量是PHP變量中最簡單的。它保存一個(gè)True或者False值。其中True或者False是PHP的內(nèi)部關(guān)鍵字。設(shè)定一個(gè)布爾型的變量,只需將True或者False賦值給該變量
(2)string:字符串
字符串是連續(xù)的字符序列,字符串中的每個(gè)字符只占用一個(gè)字節(jié)。在PHP中,定義字符串有3種方式:
單引號方式,
雙引號方式,
Heredoc方式。
(3)integer:整數(shù)
整數(shù)數(shù)據(jù)類型只能包含整數(shù)。這些數(shù)據(jù)類型可以是正數(shù)或負(fù)數(shù)。在32位的操作系統(tǒng)中,有效的范圍是?2 147 483 648~+2 147 483 647。
(4)double:浮點(diǎn)數(shù)
浮點(diǎn)數(shù)據(jù)類型可以用來存儲數(shù)字,也可以保存小數(shù)。它提供的精度不整數(shù)大得多。在32位的操作系統(tǒng)中,有效的范圍是1.7E-308~1.7E+308。
2.復(fù)合數(shù)據(jù)類型
復(fù)合數(shù)據(jù)類型包括以下兩種。
(1)array:數(shù)組
可以是二維、三維或者多維,數(shù)組中的各元素可以是string、integer或double,也可以是array。
(2)object:對象類型
3.特殊數(shù)據(jù)類型
特殊數(shù)據(jù)類型包括以下兩種。
(1)resource:資源
資源是PHP內(nèi)的幾個(gè)函數(shù)所需要的特殊數(shù)據(jù)類型,由編程人員來分配。
(2)null:空值
空值是最簡單的數(shù)據(jù)類型。表示沒有為該變量設(shè)置任何值,另外,空值(NULL)不區(qū)分大小寫。
PHP是弱類型的語言,變量是沒有類型的,由編譯環(huán)境自動處理。
當(dāng)然,實(shí)際使用中為了避免出錯(cuò),推薦對變量進(jìn)行初始化。
比如$var = '';就是字符 $var = 0; 則是數(shù)字 $var = array()是數(shù)組
需要準(zhǔn)備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
2、在index.php中,輸入代碼:$a = 'hello'; $b = 'zhidao';,以申明變量a、變量b。
3、瀏覽器運(yùn)行index.php頁面并輸出a、b變量,會發(fā)現(xiàn)a、b變量的值被打印,說明變量申明成功。
本文標(biāo)題:php變量需聲明數(shù)據(jù)類型,在php中聲明變量應(yīng)使用什么符號
新聞來源:http://muchs.cn/article30/hciiso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、微信公眾號、服務(wù)器托管、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)