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'

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。