电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP學習之PHP變量

瀏覽:34日期:2024-02-27 18:17:04
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() {  echo $a; /* reference to local scope variable */  }   Test(); 這段程序不會輸出任何的東西,因為echo語句要輸出局部變量 $a ,而函數內的 $a 從未被賦過值。 你可能注意到這和C語言有點小小的區別,C中全局變量可以直接在函數內引用,除非它被一個局部變量所覆蓋。 而這使得人們可能不注意修改了全局變量的值。在PHP中要在函數內部使用全局變量必須顯式的說明。 例如:  $a=1;  $b=2;  Function Sum() {  global $a,$b;  $b = $a + $b; }  Sum();  echo $b; 上面程序將輸出"3"。 通過在函數內部聲明$a和$b是全局變量,所要變量都參考全局。一個函數可以操縱的全局變量的數量沒有限制。 作用域的另外一個值得注意的地方是static 變量。 一個 static變量存在于局部函數中,但當程序離開這個函數時它的值不會丟失。 考慮下面的例子:  Function Test() {  $a=0;  echo $a;  $a++;  } 這個函數是沒用的,因為每次調用時它都先把$a賦為 0 然后打出"0"。 對$a++的自加沒有任何效果因為函數調用結束后變量 $a 就被釋放了。要使記數程序有效記數而不丟掉當前的記數結果,$a 要聲名為static變量: Function Test() { static $a=0; echo $a; $a++; } 現在,每次調用Test()函數它都會打出$a的值并把增加它的值。 當使用遞歸函數時靜態變量是必不可少的。 遞歸函數就是調用自己的函數。寫遞歸函數時一定要十分小心, 因為它的循環次數不確定。你必須確保有足夠的條件結束遞歸過程。下面是一個簡單的遞歸函數記數到10: Function Test() {  static $count=0;  $count++;   echo $count;  if($count < 10) {  Test();  } } (二) 動態變量 有時使用可變的變量名比較方便。就是說,一個能夠被動態賦值和使用的變量名。 一個普通變量的賦值語句如: $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:;; 當按下”submit”后,PHP3會自動產生變量:$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 is now a double (3.3) $foo = 5 + "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   允許的強制轉換是: (int), (integer) - cast to integer (real), (double), (float) - cast to double (string) - cast to string (array) - cast to array   (object) - cast to object 注意:括號中可以含有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.3e3"// $foo is a double (1) $foo = 1 + "bob3"// $foo is an integer (1) $foo = 1 + "10 Small Pigs"// $foo is an integer (11) $foo = 1 + "10 Little Piggies"// $foo is a double (11); the string contains 'e';
標簽: PHP
主站蜘蛛池模板: 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 懂研帝_专业SCI论文润色机构_SCI投稿发表服务公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 桌上式超净工作台-水平送风超净工作台-上海康路仪器设备有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 不锈钢拉手厂家|浴室门拉手厂家|江门市蓬江区金志翔五金制品有限公司 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 | 光照全温振荡器(智能型)-恒隆仪器 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 |