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'
推薦文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩定
產品高可用性高并發貼心
項目群及時溝通專業
產品經理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽堅持
10年專注高端品質開發