新手學堂: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'

獲取更多信息,請參考Unix手冊關于strtod(3)的部分。

PHP服務器變量設置的方法介紹
變量類型變化(juggling)PHP不需要(或者說不支持)在聲名變量明確他的變量類型;一個變量的類型是由這個變量被使用的前後關系來決定的,也就是說,如果你給一個變量var賦了 一個字符串的值,var就變成了字符串變量。...查看完整版>>PHP服務器變量設置的方法介紹
 
Acrobat 9 Pro重新激活的方法介紹-新手學堂
  Acrobat Pro激活一直都是困擾很多網友的問題,不論是老版本的Acrobat Pro還是新版本Acrobat 9 Pro。下面介紹一個Acrobat 9 Pro重新激活的方法,供大家參考。原作者是嬴政的金克木,再次表示感謝!    舊版本...查看完整版>>Acrobat 9 Pro重新激活的方法介紹-新手學堂
 
新手學堂:CentOS下配置XDMCP的方法介紹
服務器端設置 1.修改/etc/gdm/custom.conf,允許使用xdmcp Enable=1 如果需要root用戶也能通過XDMCP遠程登錄,可添加 AllowRemoteRoot=true 2.打開防火牆設置 打開XDMCP的端口:UDP 177 打開TCP 6000到6010端口 可...查看完整版>>新手學堂:CentOS下配置XDMCP的方法介紹
 
網管需知的四種禁止下載軟件的方法-新手學堂
  如何才能禁止下載軟件?這個問題一直以來都不能解決,也不能解決!(困爲上有政策,下有對策) 但是可以免強阻止"菜鳥"下載,以下是我總結出來的一些方法,希望對某些朋友有少少幫助。     一、要禁止下載當然要...查看完整版>>網管需知的四種禁止下載軟件的方法-新手學堂
 
遨遊無法關聯.htm和.mht的解決方法-新手學堂
  Windows7和Ubuntu 10.04禁用IPv6的方法  我的系統爲Win7,最近遨遊升級爲2.5.13後所有遨遊關聯的文件(.htm、.mht)都打不開了,具體表現爲雙擊文件彈出“打開方式”對話框,選擇遨遊爲默認程序,下次打開還是彈...查看完整版>>遨遊無法關聯.htm和.mht的解決方法-新手學堂
 
Nod32右下角圖片變黃色的解決方法-新手學堂
  現象:  右下角的Nod32顔色變爲黃色了,是不是你感覺殺毒軟件不起作用了。    分析:  1、激活碼失效了(解決辦法:花錢買正版的激活碼了,因爲這樣用起來舒坦,不用經常去換激活碼)。    2、就是下...查看完整版>>Nod32右下角圖片變黃色的解決方法-新手學堂
 
本地磁盤無法修改磁盤卷標的解決方法-新手學堂
  今天修改我的磁盤卷標,發現了一個問題,怎麽修改都還是顯示以前的卷標名稱。這是怎麽回事呢?想了一下最近都做了哪些設置,突然想到前幾天爲了關閉磁盤“自動播放”功能,把Shell Hardware Detection給停掉了,...查看完整版>>本地磁盤無法修改磁盤卷標的解決方法-新手學堂
 
新手學堂:Linux系統下顯示多核模式方法
在安裝時,客戶沒有選擇安裝kernel-smp,系統會缺省安裝爲單處理器核心,用戶可以通過添加多處理器核心模組,將系統升級。 具體步驟: 1、啓動Red Hat Linux as 4,以root身份登錄,進入字符界面。 2、解壓kernel-smp...查看完整版>>新手學堂:Linux系統下顯示多核模式方法
 
新手學堂:Linux系統下顯示多核模式方法
在安裝時,客戶沒有選擇安裝kernel-smp,系統會缺省安裝爲單處理器核心,用戶可以通過添加多處理器核心模組,將系統升級。 具體步驟: 1、啓動Red Hat Linux as 4,以root身份登錄,進入字符界面。 2、解壓kernel-smp...查看完整版>>新手學堂:Linux系統下顯示多核模式方法
 
 
回到王朝網路移動版首頁