本文目錄一覽:
PHP的變量是什麼
PHP中的每個變量都有一個針對它的作用域,它是指可以在其中訪問變量(從而訪問它的值)的一個領域。對於初學者來說,變量的作用域是它們所駐留的頁面。我們為大家收集整理了關於PHP的變量,以方便大家參考。
變量是程序中或以變化的量,用於存儲數字、字符串或函數的結果。
一旦設置了某個變量,我們就可以在腳本中重複地使用它。
PHP 中的所有變量都是以 $ 符號開始的。
在 PHP 中設置變量的正確方法是:
$var_name = value;
PHP 的入門者往往會忘記在變量的前面的 $ 符號。如果那樣做的話,變量將是無效的。
下面我們創建一個存有字符串的變量,和一個存有數值的變量:
$txt = “Hello World!”;
$number = 16;
?
PHP 是一門鬆散類型的’語言(Loosely Typed Language)
在 PHP 中,不需要在使用變量之前先聲明該變量。
在上面的例子中,您看到了,不必向 PHP 聲明該變量的數據類型。
根據變量被設置的方式,PHP 會自動地把變量轉換為正確的數據類型。
在強類型的編程語言中,您必須在使用前聲明變量的類型和名稱。
在PHP中,變量會在使用時被自動聲明。
變量的命名規則
變量名必須以字母或下劃線 “_” 開頭。
變量名只能包含字母數字字符以及下劃線。
變量名不能包含空格。
如果變量名由多個單詞組成,那麼應該使用下劃線進行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString)。
現在發起一個搶答:題目是,PHP聲明變量用什麼符號定義?
php聲明和調用變量的符號主要是var_dump(property_exists($c,’d’));//bool(true)。
如果對一個未定義的變量進行引用賦值、引用參數傳遞或引用返回,則會自動創建該變量。
同樣的語法可以用在函數中,它返回引用,以及用在new運算符中(PHP4.0.4以及以後版本)。
自PHP5起,new自動返回引用,因此在此使用=已經過時了並且會產生E_STRICT級別的消息。
運行代碼是讓$b來引用$a的內容,然後改變$a的內容,$b的內容也會隨之變化。具體的標識符包括$a,$b,$c。
php變量定義方法
PHP語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。以下是為大家分享的php變量定義方法,供大家參考借鑒,歡迎瀏覽!
1.定義常量define(“CONSTANT”, “Hello world.”);
常量只能包含標量數據(boolean,integer,float 和 string)。
調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT;
注: 常量和(全局)變量在不同的名字空間中。這意味着例如 TRUE 和 $TRUE 是不同的。
2.普通變量$a = “hello”;
3.可變變量(使用兩個美元符號($))
$$a = “world”;
兩個變量都被定義了:
$a 的內容是“hello”並且 $hello 的內容是“world”。
因此,可以表述為:
echo “$a ${$a}”;或者 echo “$a $hello”;它們都會輸出:hello world
要將可變變量用於數組,必須解決一個模稜兩可的問題。這就是當寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變量呢,還是想要 $$a 作為一個變量並取出該變量中索引為 [1] 的值。解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。
4.靜態變量
在函數內部static $a = 0;
注意:聲明中用表達式的結果對其賦值會導致解析錯誤如static $a =3+3;(error)
靜態變量僅在局部函數域中存在(函數內部),函數執行完之後,變量值不會丟失,可用於遞歸調用
5.全局變量
在函數體內定義的global變量,函數體外可以使用,在函數體外定義的global變量不能在函數體內使用,在全局範圍內訪問變量可以用特殊的 PHP 自定義 $GLOBALS 數組:
如:$GLOBALS[“b”] = $GLOBALS[“a”] + $GLOBALS[“b”];
在一個函數域內用 global 語句導入的一個真正的全局變量實際上是建立了一個到全局變量的引用
global $obj;
註:對於變量的 static 和 global 定義是以 應用 的方式實現的
6.給變量賦值:傳地址賦值(簡單引用):
$bar = $foo; //加符號到將要賦值的變量前
改動新的變量將影響到原始變量,這種賦值操作更加快速
注意:只有命名變量才可以傳地址賦值
注意:如果
$bar = $a;
$bar = $foo;
改變$bar的值只能改變變量foo的值,而不改變a的值(引用改變了)
7.PHP 超全局變量$GLOBALS : 包含一個引用指向每個當前腳本的全局範圍內有效的變量。該數組的鍵標為全局變量的 名稱。從 PHP 3 開始存在 $GLOBALS 數組。
$_SERVER : 變量由 Web 服務器設定或者直接與當前腳本的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。
$_GET : 經由 HTTP GET 方法提交至腳本的變量。
$_POST : 經由 HTTP POST 方法提交至腳本的變量。
$_COOKIE : 經由 HTTP Cookies 方法提交至腳本的變量。
$_FILES : 經由 HTTP POST 文件上傳而提交至腳本的變量。
文件上傳表單中要有 enctype=”multipart/form-data”
$_ENV : 執行環境提交至腳本的變量。
$_REQUEST :經由 GET,POST 和 COOKIE 機制提交至腳本的.變量,因此該數組並不值得信任。所有包含在該數組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義。該數組沒有直接模擬 PHP 4.1.0 的早期版本。參見 import_request_variables()。
注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在於 $_REQUEST 中。
$_SESSION :當前註冊給腳本會話的變量。
如何禁用phpinfo():
php.ini中
disable_functions = phpinfo()
重啟web服務器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含標量數據(boolean,integer,float 和 string)。
可以簡單的通過指定其名字來取得常量的值,不要在常量前面加上 $ 符號。如果常量名是動態的,也可以用函數
constant() 來讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
注: 常量和(全局)變量在不同的名字空間中。這意味着例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調用它一樣(CONSTANT 對應 “CONSTANT”)。此時將發出一個 E_NOTICE 級的錯誤。參見手冊中為什麼 $w3sky[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 defined() 函數。
常量和變量不同:
* 常量前面沒有美元符號($);
* 常量只能用 define() 函數定義,而不能通過賦值語句;
* 常量可以不用理會變量範圍的規則而在任何地方定義和訪問;
* 常量一旦定義就不能被重新定義或者取消定義;
* 常量的值只能是標量。
定義常量
?PHP
define(“CONSTANT”, “Hello world.”);
echo CONSTANT; // outputs “Hello world.”
echo Constant; // outputs “Constant” and issues a notice.
?
php變量如何定義?
變量定義:在PHP中變量的語法格式如下:
$變量名稱 = 變量的值
$name = “xiaoming”; //定義一個變量,變量明為name,變量值為“xiaoming”.
php 變量的聲明問題
恭喜樓主自己找到錯誤。
因為post,get用量大,建議樓主重寫個函數
例如:
function safe($s){
//這裡要你自己寫過濾函數。
return $s;
}
function get($s){
return isset($_GET[$s])?safe($_GET[$s]):””;
}
post類似。
這樣做的好處:$typename=get(“typename”);不需要再大量的if了。
而且使用safe()來過濾傳遞過來的數據,
如服務器沒有打開get_magic_quotes_gpc,你可以在這裡加入防SQL注入的過濾。等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/297913.html