摘要:小駝峰法大駝峰法匈牙利命名法變量名屬性類型對象描述。是一種弱類型語言,變量在使用之前并不需要聲明類型,且同一變量可以保存多種不同類型的數(shù)據(jù)。另外,在函數(shù)內(nèi)部創(chuàng)建的靜態(tài)變量是無法在函數(shù)外部使用的。
變量標識符
標識符即是變量的名稱,PHP 中關(guān)于變量的標識符有以下規(guī)則:
由任意字母、數(shù)字、下劃線組成,但不能以數(shù)字開頭
嚴格區(qū)分大小寫
為了科學規(guī)范標識符,主要有以下幾種流行的命名方式:
第一個單詞以小寫字母開始,之后每個單詞的首字母大寫(小駝峰法);或每一個單詞的首字母都采用大寫字母(大駝峰法,也稱帕斯卡命名法)。
$myFirstName = "jochen"; # 小駝峰法 $MyFirstName = "jochen"; # 大駝峰法
變量名 = 屬性 + 類型 + 對象描述。
$sMyFirstName = "jochen";
所有字母均小寫,并且每個單詞間以下劃線分割
$my_first_name = "jochen";變量賦值
PHP 提供了兩種方式給變量賦值,分別是傳值賦值和引用賦值。
最常用的是傳值賦值,當將一個表達式的值賦予一個變量時,整個原始表達式的值被賦值到目標變量。這意味著,當一個變量的值賦予另外一個變量時,改變其中一個變量的值,將不會影響到另外一個變量。
引用賦值是原始變量內(nèi)容的一種別名,不同于 C 語言中的指針,但改動變量的值一樣會影響到原始變量。
$foo = "jochen"; # 傳值賦值 $bar = &$foo; # 引用賦值 $bar = "coco"; # $foo、$bar 的值都為 coco變量類型
變量類型是指能夠保存在該變量中的數(shù)據(jù)類型。PHP 的數(shù)據(jù)類型可分為三種:標量數(shù)據(jù)類型、復合數(shù)據(jù)類型和特殊數(shù)據(jù)類型。PHP 標量數(shù)據(jù)類型有 boolean(布爾型)、integer(整型)、float(浮點型,也稱作 double)、string(字符串),復合數(shù)據(jù)類型有 array(數(shù)組)、object(對象) 和 callable(可調(diào)用),特殊數(shù)據(jù)類型 resource(資源) 和 NULL(無類型)。
PHP 是一種弱類型語言,變量在使用之前并不需要聲明類型,且同一變量可以保存多種不同類型的數(shù)據(jù)。有時,為了判斷當前變量的數(shù)據(jù)類型,我們可以使用以下方法進行判斷:
gettype() — 獲取變量的類型 is_int() 或 is_integer() — 檢測變量是否是整數(shù) is_numeric() — 檢測變量是否為數(shù)字或數(shù)字字符串 is_float() 或 is_double() — 檢測變量是否是浮點型 is_string() — 檢測變量是否是字符串 is_bool() — 檢測變量是否是布爾型 is_array() — 檢測變量是否是數(shù)組 is_object() — 檢測變量是否是一個對象 is_null() — 檢測變量是否為 NULL is_resource() — 檢測變量是否為資源類型
有時,我們需要強制將某個變量當作某種類型來求值,就要進行類型強制轉(zhuǎn)換:
(int) 或 (integer) — 轉(zhuǎn)換為整形 (bool) 或 (boolean) — 轉(zhuǎn)換為布爾類型 (float) 或 (double) — 轉(zhuǎn)換為浮點型 (string) — 轉(zhuǎn)換為字符串 (array) — 轉(zhuǎn)換為數(shù)組 (object) — 轉(zhuǎn)換為對象 (unset) — 轉(zhuǎn)換為 NULL變量作用域
由 PHP 預定義的,且在任何腳本的任何作用域中始終可用的一種變量。超全局變量包括:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
其中 $GLOBALS 是一個包含了所有全局變量的關(guān)聯(lián)數(shù)組,變量的名字就是數(shù)組的 key,變量的值就是數(shù)組的 value。
在函數(shù)外部創(chuàng)建的變量, for 語句 、while 語句、foreach 語句中創(chuàng)建的變量也屬于全局變量,其作用域是從創(chuàng)建變量的語句開始到文件的末尾,但在函數(shù)內(nèi)部不可見。需要注意的是:常量一旦被創(chuàng)建,將在全局中可見,同時在函數(shù)內(nèi)部也是可見的。
在函數(shù)內(nèi)部創(chuàng)建的變量,其作用域是從創(chuàng)建變量的語句開始到函數(shù)末尾。需要注意的是:如果函數(shù)內(nèi)部的變量與外部的全局變量名稱相同時,內(nèi)部變量會覆蓋外部變量。另外,在函數(shù)內(nèi)部創(chuàng)建的靜態(tài)變量是無法在函數(shù)外部使用的。
require 和 include 不影響作用域,即如果這兩個語句作用于函數(shù)內(nèi)部,變量具有局部作用域;如果作用于函數(shù)外部,變量具有全局作用域。用關(guān)鍵字 global 聲明變量,可以用來手動指定一個在函數(shù)中定義或使用的變量具有全局作用域。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28519.html
摘要:因此,當需要操作字符集的字符串時候,請務必安裝擴展,并使用相應的函數(shù)代替原生的字符串函數(shù)中國擴展大部分的函數(shù)都需要基于一個編碼內(nèi)部編碼來處理,請務必統(tǒng)一使用編碼,這個大部分可以在中配置。 創(chuàng)建 PHP 支持 4 種方式來創(chuàng)建一個字符串:單引號、雙引號、heredoc 語法結(jié)構(gòu)和 nowdoc 語法結(jié)構(gòu)。 1. 單引號 在單引號字符串中,變量和特殊字符將不會被轉(zhuǎn)義替換,除了反斜杠和單引號...
摘要:前言本文通過分析這個語句的編譯和執(zhí)行來窺探解釋執(zhí)行邏輯準備參考之前的系列文章,在環(huán)境下下載,編譯源代碼將代碼導入中編輯運行選項,增加運行參數(shù)設置斷點開始調(diào)試是一個測試腳本,放在目錄下,中只包含一條簡單的賦值語句調(diào)用堆棧參考之前的系列文章 前言 本文通過分析 $a=1 這個 PHP 語句的編譯和執(zhí)行來窺探 php-cli 解釋執(zhí)行邏輯 準備 參考之前的系列文章,在 ubuntu 環(huán)境下...
摘要:概述我們知道,在編程語言中,數(shù)組的使用頻率是很高的,幾乎每個腳本都會使用到。循環(huán)缺點遍歷完成之后,不能對數(shù)組進行第二次遍歷數(shù)組內(nèi)部指針指向了最后一個元素。 概述 我們知道,在 PHP 編程語言中,數(shù)組的使用頻率是很高的,幾乎每個腳本都會使用到。 PHP 自帶了大量的、優(yōu)秀的操作數(shù)組的函數(shù)以供我們使用,本文就對這些數(shù)組函數(shù)的使用做一些分類和總結(jié),方便大家以后查閱。 創(chuàng)建 1. range...
摘要:通過這個函數(shù)可以很方便的在程序運行期間執(zhí)行很多常見操作。此文可以轉(zhuǎn)載,但轉(zhuǎn)載前需要發(fā)郵件到進行溝通,未溝通的均視作侵權(quán)。 index.php index.php 是整個框架的入口文件,也就是說所有的請求都要從它這里開始。因為 index.php 源碼非常簡潔,那么我們直接放一張源碼截圖,按著截圖說一下源碼。 showImg(https://segmentfault.com/img/re...
閱讀 3386·2023-04-25 16:25
閱讀 3933·2021-11-15 18:01
閱讀 1666·2021-09-10 11:21
閱讀 3135·2021-08-02 16:53
閱讀 3140·2019-08-30 15:55
閱讀 2536·2019-08-29 16:24
閱讀 2153·2019-08-29 13:14
閱讀 1091·2019-08-29 13:00