搜尋
首頁後端開發php教程PHP學習之PHP變數_PHP教程

PHP學習之PHP變數_PHP教程

Jul 21, 2016 pm 04:05 PM
php下面內部變數支援整數類型

PHP變數

  PHP3支援下面類型的變數:
(一)、內部變數
   主要有整數(interger),浮點數(float-point numbers),字串(string),陣列(array),物件(object)。
1 初始化變數   
要在PHP中初始化變數, 你只要簡單的給它賦值即可。對於大多數類型,這是最直接的。對於數組和對象,可以使用其它方法。
2 初始化數組   
數組可以使用這兩種方法之一來賦值: 使用一系列連續數值,或使用array()函數構造 (見 Array functions 部分)。   
要將連續的數值加進數組,你只需將要賦值賦給不帶下標的數組變數。該值會作為數組的最後元素加進數組中。
例:    $names[] = "Jill"; // $names[0] = "Jill"    $names[] = "Jack"; // $names[1] = "Jack" 與c、perl相似,
陣列下標也是從0開始。
3 初始化對象
要初始化一個對象,需用new語句建立該類型的變數。
class foo {         
function do_foo() {           
echo "Doing foo."; }             }         $bar = new foo;         $bar->do_foo();
4 變量作用域
變數的作用域就是它的有效範圍。對於大多數PHP的變數只有一個作用域。在使用者自訂函數裡採用局部變數作用域。
函數內使用的變數被缺省設定為局部變數。例如:      $a=1; /* global scope */      
Function Test() {       toscom   問題 e  姆     問題  /         }      
Test(); 這段程式不會輸出任何的東西,因為echo語句要輸出局部變數$a ,而函數內的$a 從未被賦過值。
你可能注意到這和C語言有點小小的區別,C中全域變數可以直接在函數內引用,除非它被一個局部變數所覆蓋。
而這使得人們可能不注意修改了全域變數的值。在PHP中要在函數內部使用全域變數必須明確的說明。
例如:        $a=1;        $b=2;             $a,$b;         
 $b = $a $b;                           ]      echo $b; 上面程序將輸出"3"。
透過在函數內部宣告$a和$b是全域變數,所要變數都參考全域。一個函數可以操縱的全域變數的數量沒有限制。   
作用域的另一個值得注意的地方是static 變數。
一個 static變數存在於局部函數中,但當程式離開這個函數時它的值不會遺失。
想想下面的例子:      Function Test() {        $a=0;        $a=0;                ]    }
這個函數是沒用的,因為每次呼叫時它都先把$a賦為0然後打出"0"。 對$a 的自加沒有任何效果因為函數呼叫結束後變數
$a 就被釋放了。要使記數程式有效記數而不丟掉目前的記數結果,$a 要聲名為static變數:
      Function Test() {          static;        $a ;
} 現在,每次呼叫Test()函數它都會打出$a的值並且把增加它的值。 當使用遞歸函數時靜態變數是必不可少的。
遞歸函數就是呼叫自己的函數。寫遞歸函數時一定要十分小心,
因為它的循環次數不確定。你必須確保有足夠的條件結束遞歸過程。以下是簡單的遞歸函數記數到10:
      Function Test() {        static $0D;       static $0;                     🎜>echo $count;        if($count (二) 動態變數有時使用可變的變數名稱比較方便。就是說,一個能夠被動態賦值和使用的變數名。
一個普通變數的賦值語句如:     $a = "hello";   一個動態變數引用該變數的值作為一個新變數的名字。
在上面例中, hello,可以透過雙$用來做變數名。
例:     $$a = "world"; 至此,兩個變數被定義並存貯在PHP符號樹中: $a 的內容是"hello",$hello 的內容是 "world"。
因此,語句: echo "$a ${$a}"; 的顯示結果完全等同於: echo "$a $hello"; (三)PHP外部變數1、HTML表單(GET和POST)   
當一個表單提交給PHP3 script時,PHP會自動得到表單中的變數。例如:       

      Name:  
        〜  『 name,其中包含了使用者輸入的所有內容。 2.IMAGE SUBMIT 變數名稱
當提交表單時,可以透過下方標記用一副圖取代標準的提交按鈕:     當使用者點擊該圖時,
兩個附加變數sub_x和sub_y就會伴隨表單一起送到server上。其中包含了使用者在圖上點擊處的座標。
有經驗的人可能注意到瀏覽器實際送出的名字包含一個句號而不是下劃線,但PHP自動將句號轉換成了下劃線。
3、HTTP Cookies   
PHP支援HTTP cookies。 Cookies在客戶端瀏覽器儲存數據,以此和使用者保持聯絡或驗證使用者身分。
你可以使用setcookie() 函數來設定cookies。 Cookies是HTTP請求頭的一部分,所以必須在任何輸出資料回傳給使用者瀏覽器前
呼叫SetCookie()函數。它類似於 Header() 函數的限制。任何用戶端傳回的cookies都會被自動轉換為標準的PHP變量,
就像GET和POST方法的資料。
如果要在一個cookie中設定多個值,要給這個cookie的名字加上[] ,
例如:     SetCookie("MyCookie[]","Testing", time() 3600);  〜 >注意:新的cookie將覆蓋掉你的瀏覽器中已有的同名cookie,除非它們有不同的路徑或網域。
4、環境變數   
PHP自動將環境變數轉換為普通的變數。
echo $HOME; /* Shows the HOME environment variable, if set. */   
儘管來自GET,POST 及Cookie結構的資訊也會被自動轉換為PHP的變數, 但最好明確的從環境變數中讀取它們以確保獲得正確的值。
為此可使用 getenv() 函數。也可以透過 putenv() 函數設定變數。
變數型轉換   
PHP中不需要(也不支援)在變數定義時做明確的型別宣告;一個變數的型別取決於它的值的型別。
也就是說,如果你給變數var 賦了一個字串值,var 就成為字串變數。如果你又賦了一個整數值給var, 它就變成了一個整數變數。
  一個PHP自動型別轉換的例子是加法運算子 ' '。如果任何一個操作數是double型,則所有的操作數以 double型別來計算,
結果也是double型的。否則,所有的運算元以integer型別來計算, 結果也是integer型的。注意:運算元本身的型別改變;
型別轉換只在計算時做$foo = "0"; // $foo is a string (ASCII 48)     $foo ; // $foo is the string " 1" (ASCII 49)
    $foo = 1; // $foo is now an integer (2)     $foo = $foo 1.3; // $foo    $foo = $foo。 "10 Little Piggies"; // $foo is a double (15)     $foo = 5 "10 Small Pigs"; // $foo is an integer (15)
要改變變數的型別,也可用settype()函數。
1、強制型別轉換   
PHP中的強制型別轉換和C一樣: 在需要進行型別強制轉換的變數前的括號中寫出想要的型別名稱。
$foo = 10; // $foo is an integer    $bar = (double) $foo; // $bar is a double    
允許的強制轉換是:      〜>允許的強制轉換是:    〉 ) integer     (real), (double), (float) - cast to double     
(string) - cast to string       
(string) - cast to string       、(array(array) - cast toarray] 🎜>注意:括號中可以含有tab或空格,下面的函數將被計算:     $foo = (int) $bar;     $foo = ( int ) $bar;
2、字串轉換
當字串作為數值類型計算時,結果的結果值和類型按以下方式決定。   
如果字串中包含任何'.', 'e',及'E'字符,則被計算為double型別。否則,就作為integer類型計算。   
該值從字串最開始算起。如果字串是合法的數字,則使用該值,否則值為 0 。
合法的數字是一個符號位(可選),後跟一位或幾位數字(也可含有一個十進制的小數點), 後跟一位可選的指數。
指數是一個 'e' 或 'E'後面跟著一個或幾個數字。 $foo = 1 "10.5"; // $foo is a double (11.5)   
$foo = 1 "-1.3e3"; // $foo is a double (-1299)   $foo = 1 "bob-1. e3"; // $foo is a double (1)   
$foo = 1 "bob3"; // $foo is an integer (1)   $foo = 1 "10 Small Pigs"; // $foo is an an integer (11)   
$foo = 1 "10 Little Piggies"; // $foo is a double (11); the string contains 'e' 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315727.htmlTechArticlePHP變數PHP3支援下面類型的變數: (一)、內部變數主要有整數(interger),浮點數(float-point numbers),字串(string),陣列(array),物件(object)。 1 初始...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您如何防止與會議有關的跨站點腳本(XSS)攻擊?您如何防止與會議有關的跨站點腳本(XSS)攻擊?Apr 23, 2025 am 12:16 AM

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

您如何優化PHP會話性能?您如何優化PHP會話性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

什麼是session.gc_maxlifetime配置設置?什麼是session.gc_maxlifetime配置設置?Apr 23, 2025 am 12:10 AM

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

您如何在PHP中配置會話名?您如何在PHP中配置會話名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

您應該多久再生一次會話ID?您應該多久再生一次會話ID?Apr 23, 2025 am 12:03 AM

會話ID應在登錄時、敏感操作前和每30分鐘定期重新生成。 1.登錄時重新生成會話ID可防會話固定攻擊。 2.敏感操作前重新生成提高安全性。 3.定期重新生成降低長期利用風險,但需權衡用戶體驗。

如何在PHP中設置會話cookie參數?如何在PHP中設置會話cookie參數?Apr 22, 2025 pm 05:33 PM

在PHP中設置會話cookie參數可以通過session_set_cookie_params()函數實現。 1)使用該函數設置參數,如過期時間、路徑、域名、安全標誌等;2)調用session_start()使參數生效;3)根據需求動態調整參數,如用戶登錄狀態;4)注意設置secure和httponly標誌以提升安全性。

在PHP中使用會議的主要目的是什麼?在PHP中使用會議的主要目的是什麼?Apr 22, 2025 pm 05:25 PM

在PHP中使用會話的主要目的是維護用戶在不同頁面之間的狀態。 1)會話通過session_start()函數啟動,創建唯一會話ID並存儲在用戶cookie中。 2)會話數據保存在服務器上,允許在不同請求間傳遞數據,如登錄狀態和購物車內容。

您如何在子域中分享會議?您如何在子域中分享會議?Apr 22, 2025 pm 05:21 PM

如何在子域名間共享會話?通過設置通用域名的會話cookie實現。 1.在服務器端設置會話cookie的域為.example.com。 2.選擇合適的會話存儲方式,如內存、數據庫或分佈式緩存。 3.通過cookie傳遞會話ID,服務器根據ID檢索和更新會話數據。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版