国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

揭秘PHP程序設置變量的方法

2024-05-04 21:52:36
字體:
來源:轉載
供稿:網友
   PHP程序的變量類型變化(juggling) 
    PHP不需要(或者說不支持)在聲名變量明確他的變量類型;一個變量的類型是由這個變量被使用的前后關系來決定的,也就是說,如果你給一個變量var賦了 一個字符串的值,var就變成了字符串變量。如果你再將一個整數賦值給var,他又變成了一個整數型變量。 
    一個PHP自動轉化變量類型的例子是加法的操作符’+’。如果任何一個操作數都是雙精度數,那么所有的操作數被當作雙精度數求值,并且結果也是雙精度數。 否則,操作數將被認為是整數,結果也將會是整數。注意這并不影響每個操作數本身的變量類型,唯一的變化就是操作數在計算的過程中被如何處理。 

$foo  =  "0";  //  $foo  是一個字符串  ,值是“0”(ASCII  48)  
$foo++;  //  $foo  是一個字符串,值是“1”(ASCII  49)  
$foo  +=  1;  //  $foo  現在是一個整數(2)了  
$foo  =  $foo  +  1.3;  //  $foo  現在是一個雙精度數(3.3)了  
$foo  =  5  +  "10  Little  Piggies";  //  $foo  是一個整數  (15)  
$foo  =  5  +  "10  Small  Pigs";  //  $foo  是一個整數  (15)

    如果你覺得上面例子中最后兩個表達式看起來有點奇怪的話,請看 “字符串的轉化”部分。 
    如果你希望強制一個變量被當作某種固定的類型來計算,請看 “類型強制(casting)” 一節。如果你希望轉變一個變量的類型,請看函數“settype()”的說明。 
    確定一個變量的類型 
    因為PHP自己決定變量的類型并且一般按照需要轉化他們,一個特定的變量的類型不是在任何時間都非常明顯。PHP包括一些函數可以找出這個變量的類型。這 些函數是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object(). 
    類型強制(type casting) 
    在PHP中類型強制同在C語言中大抵相似:將需要的類型的種類寫在要強制的變量的前面的圓括號中。 

$foo  =  10;  //  $foo  是一個整數  

$bar  =  (double)  $foo;  //  $bar  是一個雙精度數

以下的強制方式是允許的: 
(int), (integer) – 強制成整數 
(real), (double), (float) – 強制成雙精度數 
(string) – 強制成字符串 
(array) – 強制成數組 
(object) – 強制成對象 
注意在圓括號中允許制表符(tabs)和空格(spaces) ,因此下面的語句是等價的: 
$foo = (int) $bar; 
$foo = ( int ) $bar; 
字符串轉化 
當一個字符串被當作數字型的值來計算時,他的結果和類型如下面所述的決定。 
如果這個字符串含有字符’.’,’e’,或者’E’,則被當作雙精度類型變量來處理,否則當作是整數。 
這個字符串的值由詞首部分決定。如果這個字符串以任何有效的數字的數據開始,那么這個數字數據就是這個字符串參加運算的值。否則,值為零(zero)。有 效的數字數據是遵循下面的這些標記的,跟隨在一個或多個數字后面(可以包含小數點),跟隨在一個可選的指數后面。指數是由一個或多個數字跟在’e’或 ’E’后面構成的。 

$foo  =  1  +  "10.5";  //  $foo  是雙精度數  (11.5)  
$foo  =  1  +  "-1.3e3";  //  $foo  是雙精度數(-1299)  
$foo  =  1  +  "bob-1.3e3";  //  $foo  是整數  (1)  
$foo  =  1  +  "bob3";  //  $foo  是整數  (1)  
$foo  =  1  +  "10  Small  Pigs";  //  $foo  是整數  (11)
$foo  =  1  +  "10  Little  Piggies";  //  $foo  是整數  (11);  
//  這個字符串包括字符’e’ 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铁岭县| 恩施市| 宜州市| 开阳县| 蕲春县| 苗栗县| 苏州市| 兰州市| 察哈| 靖宇县| 岳阳市| 屯昌县| 永城市| 盐边县| 阳东县| 石狮市| 太仆寺旗| 平潭县| 泊头市| 察哈| 民丰县| 林芝县| 乌拉特中旗| 井陉县| 上栗县| 汉川市| 宾川县| 涿鹿县| 阳高县| 太原市| 家居| 宕昌县| 万荣县| 石柱| 布拖县| 黎川县| 永平县| 永靖县| 阿坝县| 镇安县| 礼泉县|