軟件首頁 |  文章首頁
最新更新 軟件分類 設(shè)為首頁 加入收藏 聯(lián)系我們
當(dāng)前位置:首頁文章首頁 IT學(xué)院 PHP

PHP編程與應(yīng)用

作者:東坡下載  來源:uzzf  發(fā)布時(shí)間:2010-10-14 10:44:41  點(diǎn)擊:

4、環(huán)境變量

  PHP自動將環(huán)境變量轉(zhuǎn)換為普通的變量。

    echo $HOME; /* Shows the HOME environment variable, if set. */

  盡管來自GET,POST 及 Cookie結(jié)構(gòu)的信息也會被自動轉(zhuǎn)化為PHP的變量, 但最好明確的從環(huán)境變量中讀取它們以確保獲得正確的值。為此可使用 getenv() 函數(shù)。也可以通過 putenv() 函數(shù)設(shè)置變量。

變量類型轉(zhuǎn)換
  PHP中不需要(也不支持)在變量定義時(shí)做顯式的類型聲明;一個(gè)變量的類型取決于它的值的類型。也就是說,如果你給變量var 賦了一個(gè)字符串值,var 就成為字符串變量。如果你又賦了一個(gè)整型值給var, 它就變成了一個(gè)整型變量。

  一個(gè)PHP自動類型轉(zhuǎn)換的例子是加法操作符 '+'。如果任何一個(gè)操作數(shù)是double型,則所有的操作數(shù)按 double類型來計(jì)算, 結(jié)果也是double型的。否則,所有的操作數(shù)按integer類型來計(jì)算, 結(jié)果也是integer型的。注意:操作數(shù)本身的類型不發(fā)生變化;類型變換僅在計(jì)算時(shí)做

    $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() 函數(shù)。

1、強(qiáng)制類型轉(zhuǎn)換

  PHP中的強(qiáng)制類型轉(zhuǎn)換和C中一樣: 在需要進(jìn)行類型強(qiáng)制轉(zhuǎn)換的變量前的括號中寫出想要的類型名。

   $foo = 10; // $foo is an integer
   $bar = (double) $foo; // $bar is a double
   允許的強(qiáng)制轉(zhuǎn)換是:
    (int), (integer) - cast to integer
    (real), (double), (float) - cast to double
    (string) - cast to string
    (array) - cast to array  
    (object) - cast to object
注意:括號中可以含有tab或空格,下面的函數(shù)將被計(jì)算:

    $foo = (int) $bar;
    $foo = ( int ) $bar;
2、字符串轉(zhuǎn)換

  當(dāng)字符串作為數(shù)值類型計(jì)算時(shí),結(jié)果的值和類型按以下方式?jīng)Q定。

  如果字符串中包含任何'.', 'e',及'E'字符,則被作為double類型計(jì)算。否則,就作為integer類型計(jì)算。
  該值從字符串最開始算起。如果字符串是合法的數(shù)字,則使用該值,否則值為 0 。合法的數(shù)字是一個(gè)符號位(可選),后跟一位或幾位數(shù)字(也可含有一個(gè)十進(jìn)制的小數(shù)點(diǎn)), 后跟一位可選的指數(shù)。指數(shù)是一個(gè) 'e' 或 'E'后跟一個(gè)或幾個(gè)數(shù)字。

  $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'

第三章 運(yùn)算符

下面我分別看一下PHP3的算術(shù)、字符串、邏輯與比較等運(yùn)算符。

  1、算術(shù)運(yùn)算符

 。骸 $a + $b 加 $a加上$b
 。骸 $a - $b 減 $a減去$b
 。骸 $a * $b 乘 $a乘以$b
 。骸 $a / $b 除 $a除以$b
  %:  $a % $b 取模 $a除以$b的余數(shù)
如果兩個(gè)操作數(shù)都是整型值(字符串將被轉(zhuǎn)換為整型值),除號("/") 返回整型值(整除的值)。如果任一個(gè)操作數(shù)是浮點(diǎn)值,則做浮點(diǎn)除法。

2 字符串運(yùn)算符

  字符串操作符只有字符串連接符 (".")。
  $a = "Hello ";
  $b = $a . "World!"; // now $b = "Hello World!"

3、賦值運(yùn)算符

  基本的賦值運(yùn)算符是 "="。

  一個(gè)賦值表達(dá)式的值就是所賦給的值。例如, 表達(dá)式 $a = 3 的值是3。 這允許你這樣做一些復(fù)雜的事情:

    $a = ($b = 4) + 5; // 現(xiàn)在 $a 等于 9, $b為4 。

  除了基本賦值符外,還有"復(fù)合運(yùn)算符"。對于所有的二進(jìn)制數(shù)和字符串,允許你做變量自我復(fù)合運(yùn)算。例如:

 。剑骸$a = 3;
 。剑$a += 5; // 把$a 設(shè)成 8, 也就是: $a = $a + 5;
     $b = "Hello ";
 。 :$b .= "There!"; // 把 $b 設(shè)成 "Hello There!", 就象 $b = $b . "There!";

4、 位運(yùn)算符

  位運(yùn)算允許你對指定的數(shù)據(jù)置位或復(fù)位。
  &:與運(yùn)算,$a & $b 與 $a和$b都被置位則結(jié)果被置位
  |:或運(yùn)算,$a | $b 或 $a或$b有一個(gè)被置位則結(jié)果被置位
  ~:非運(yùn)算,~ $a 非 $a沒有被置位則結(jié)果被置位

5、 邏輯運(yùn)算符

 and:  $a and $b 與 $a和$b同時(shí)為真則結(jié)果為真
 or :  $a or $b 或 $a或$b有一個(gè)為真則結(jié)果為真
 xor:  $a xor $b 異或 $a和$b不同時(shí)為真則結(jié)果為真
 ! :  ! $a 非 $a為假則結(jié)果為真
 &&:  $a && $b 與 $a和$b同時(shí)為真則結(jié)果為真
 ||:  $a || $b 或 $a或$b有一個(gè)為真則結(jié)果為真
  比較兩個(gè)變量時(shí),"與"和"或"運(yùn)算有兩種運(yùn)算符這是以為兩種運(yùn)算符有不同的優(yōu)先級

6、 比較運(yùn)算符

  比較運(yùn)算符,就象名字一樣,允許你比較兩個(gè)值。

  ==: $a == $b 等于 $a等于$b結(jié)果為真
  !=: $a != $b 不等于 $a不等于$b結(jié)果為真
  < : $a < $b 小于 $a小于$結(jié)果為真
  > : $a > $b 大于 $a大于$b結(jié)果為真
  <=: $a <= $b 小于等于 $a小于或等于$b結(jié)果為真
  >=: $a >= $b 大于等于 $a大于或等于$b結(jié)果為真

第四章 表達(dá)式

表達(dá)式是PHP最重要的組成元素。在PHP 3.0中,幾乎你所寫的任何東西都是表達(dá)式。表達(dá)式的最簡單但精確的定義是"有一個(gè)值的任何東西"。
   一個(gè)簡單的例子是常量和變量。當(dāng)你寫 "$a = 5"時(shí), 你給 $a 賦了值 '5' 。 (在這種情況下, '5' 是一個(gè)整形常量)。 在此,你是希望把 $a 賦值成 5。所以寫 $b = $a 時(shí),你希望的結(jié)果就是 $b = 5 。即 $a 是一個(gè)值為 5 的表達(dá)式。

  復(fù)雜表達(dá)式的簡單例子是函數(shù)。比如說,考慮以下函數(shù):

   function foo()
    {
     return 5;
    }
  如果你認(rèn)為寫$c = foo()實(shí)際上和寫 $c = 5是一樣的,那么你是對的。函數(shù)是值為其返回值的表達(dá)式。因?yàn)閒oo() 返回5, 所以表達(dá)式 'foo()'的值是 5 。

  PHP的值當(dāng)然不限于整形,且通常都不是。PHP支持三類值的類型: 整形值,浮點(diǎn)值和字符串值。PHP 支持兩種混合類型(non-scalar): 數(shù)組和對象。這兩種類型的值可以賦給變量或從函數(shù)中返回。

  PHP 3是一種面向表達(dá)式的語言, 所以幾乎所有東西都是表達(dá)式?紤]我們已經(jīng)討論的例子, '$a = 5'。很容易看出這里有兩個(gè)值,整形常量 '5'的值,和也被賦為 5 的變量 $a 的值。但是這里實(shí)際上還有一個(gè)附加的值,就是賦值語句本身的值。賦值語句本身的值就是被賦給的值,本例中是 5. 事實(shí)上,它意味著不考慮 '$a = 5'要做什么,它是一個(gè)值為 5 的表達(dá)式。這樣,寫諸如 '$b = ($a = 5)'的語句,就象 '$a = 5; $b = 5;' (每條語句末尾有一個(gè)分號)。因?yàn)橘x值的順序是從右向左的你也可以寫成 '$b = $a = 5'。

  表達(dá)式計(jì)算方向的另一個(gè)好例子是先加、后加及先減、后減。PHP/FI和多數(shù)其他語言的用戶可能很熟悉 variable++ 和 variable--。這是自加和自減操作。在 PHP/FI 2 中,語句 '$a++' 沒有值(它不是表達(dá)式), 這樣你就既不能賦值給它也不能通過任何辦法使用它。PHP 3 把它們變成了和 C 中一樣的表達(dá)式從而增強(qiáng)了自加和自減運(yùn)算的能力。和 C 中類似,PHP 3中也有兩種類型的自加----先加和后加。先加和后加的本質(zhì)都是變量自加,對于變量本身的作用是一樣的。不同點(diǎn)是自加表達(dá)式的值。形如 '++$variable'的先加, 計(jì)算變量自加后的值(PHP先做變量自加,再讀取它的值,也就叫做 '先加').形如'$variable++'的后加, 則先計(jì)算原始變量$variable的值,然后才進(jìn)行自加 (PHP在讀取變量的值后再做自加,因此叫做'后加').

首頁 上一頁 [1] [2] [3] [4]  下一頁 尾頁

文章評論

欄目導(dǎo)航

本類推薦文章

關(guān)于本站 | 網(wǎng)站幫助 | 廣告合作 | 下載聲明 | 友情連接 | 網(wǎng)站地圖
Copyright © 20098-2010 uzzf下載站. All Rights Reserved .