国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP學(xué)習(xí) Day 3 語言參考

sean / 852人閱讀

摘要:掃下手冊的語言參考。允許的強制轉(zhuǎn)換有。錯誤控制置于表達(dá)式前時,忽略該表達(dá)式產(chǎn)生的錯誤信息。運行外部程序使用反引號,效果等同于函數(shù)。文件未找到時,給出錯誤,而僅僅給出警告。目標(biāo)位置用目標(biāo)名稱加上冒號標(biāo)記,必須位于同一文件和作用域。

掃下手冊的語言參考。(函數(shù)以前)

類型

booleanintegerfloatstringarray等類型。

可以通過gettype函數(shù)查看類型,如果要同時查看變量的值,則使用var_dump

Boolean

以下值為FALSE:

FALSE

0

0.0

"" 和 "0"

[]

不包括任何成員變量的對象

NULL (包括尚未賦值的變量)

從沒有任何tags的 XML 文檔生成的 SimpleXML 對象

大致上,0和空都是假的。

字符串

支持單引號、雙引號、Heredoc和Nowdoc。

字符串可以當(dāng)成字符組成的數(shù)組用,即可以用整數(shù)作index。

字符串可以參與算術(shù)!

$foo = 1 + "10.5"; // $foo is float (11.5)
$foo = 1 + "10 Small Pigs"; // $foo is integer (11)

操作文本的函數(shù)對于字符串編碼的假定非常混亂!請參考手冊。

類型強制轉(zhuǎn)換

上面字符串參與算術(shù)的例子就是類型自動轉(zhuǎn)換。下面是一個強制轉(zhuǎn)換的例子。

$foo = 10;   // $foo is an integer
$bar = (bool) $foo;   // $bar is a boolean

允許的強制轉(zhuǎn)換有 int bool float string array object unset binary

變量

默認(rèn)賦值是傳遞變量的值,添加&符號為引用賦值。

global聲明全局變量,用static聲明靜態(tài)變量(僅在函數(shù)第一次調(diào)用時初始化)。

支持變量的值作為變量名,例如:

$a = "hello";
$$a = "world";

這將導(dǎo)致如下語句等效:

echo "$a ${$a}";
echo "$a $hello";

支持一些來自PHP外部的變量,例如_GET _POST _COOKIE

常量

PHP的常量通過define()函數(shù)或者const關(guān)鍵字來定義。前面沒有美元符號。

PHP的常量很弱,只能包含boolenintegerfloatstring

算術(shù)

除法運算符總是返回浮點數(shù),除非是用于能夠整除的整數(shù)。

比較

=====的區(qū)別是是否自動類型轉(zhuǎn)換。
用于數(shù)組時,===還要求順序相同。

錯誤控制

@置于表達(dá)式前時,忽略該表達(dá)式產(chǎn)生的錯誤信息。

運行外部程序

使用反引號,效果等同于函數(shù)shell_exec

$output = `ls -al`;
遞增、遞減

支持C風(fēng)格的奇技淫巧:++$a $a++ --$a $a--

邏輯運算符

支持xor!,同時支持andor&&||(優(yōu)先級略有差異)。

字符串

.連接字符串,用.=將右邊的參數(shù)附加到左邊參數(shù)之后。

聯(lián)合數(shù)組

使用+,把右邊的數(shù)組元素附加到左邊的數(shù)組后面,兩個數(shù)組中都有的鍵名,則只用左邊數(shù)組中的,右邊的被忽略。

流程控制

do while在循環(huán)結(jié)束后判斷,所以至少運行一次!

for的用法和python不一樣,和C類似。和python的for相似的是foreach:Python下的for i in lfor k,v in d,PHP下寫成foreach ($l as $i)foreach ($d as $k => $v)。注意,通過引用賦值可以方便地修改數(shù)組中的元素。

$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}

break可以接受數(shù)字參數(shù)決定跳出幾重循環(huán)。

switch比較奇怪,如果case的語句段不加break,會繼續(xù)執(zhí)行下一個case中的語句(即使下一個case不滿足條件)。當(dāng)然這也意味著某些時候可以縮短代碼:

switch ($_SESSION["lang"]) {
case "en":
case "es":
case "zh-tw":
case "zh-cn":
    $lang_file = "lang.".$_SESSION["lang"].".php";
    break;

default:
    $lang_file = "lang.en.php";
}

不過其實如果switchcase支持一般表達(dá)式的話,完全可以寫得更簡單的:

switch ($_SESSION["lang"]) {
  case ("en" | "es" | "zh-tw" | "zh-cn"):
    $lang_file = "lang.".$_SESSION["lang"].".php";
    break;
  default:
    $lang_file = "lang.en.php";
}

可惜的是上面的php是非法的,因為 case 表達(dá)式只能是數(shù)字或字符串!

require

requireinclude類似,包含的文件繼承了所在行的變量范圍。若未給出路徑,優(yōu)先在include_path中查找,沒找到的情況下才在調(diào)用腳本所在目錄和當(dāng)前工作目錄下查找。

文件未找到時,require給出錯誤,而include僅僅給出警告。

require_onecinclude_once確保文件只被包含一次。

goto

目標(biāo)位置用目標(biāo)名稱加上冒號標(biāo)記,必須位于同一文件和作用域。


習(xí)題答案

基本的文件讀寫和正則。


const FILE_NAME = "city.txt"; const NEW_FILE = "area.txt"; $city_list = explode(" ", file_get_contents(FILE_NAME)); $result = implode(" ", preg_grep("/[0-9]/", $city_list, PREG_GREP_INVERT)); file_put_contents(NEW_FILE, $result);

Day 0 - 5 列表

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/20638.html

相關(guān)文章

  • PHP學(xué)習(xí) Day 4 語言參考(下半篇)

    摘要:如果有此需要,同樣要使用匿名函數(shù)。以上兩點可以總結(jié)為函數(shù)對應(yīng)于常量,匿名函數(shù)對應(yīng)于變量。匿名函數(shù)生成類的實例類聲明通過表明繼承關(guān)系,不支持多重繼承。覆蓋方法時,參數(shù)必須保持一致,否則會拋出警告。 函數(shù) 函數(shù)具有全局作用域,可以定義在一個函數(shù)之內(nèi)而在該函數(shù)之外調(diào)用。 function foo() { function bar() { echo I dont exist...

    WelliJhon 評論0 收藏0
  • PHP學(xué)習(xí)之路 目錄

    這個系列就暫時告一段落了。這是一個目錄。 Day 0 起步 Day 1 基本語法 Day 2 REPL 和 包管理 Day 3 語言參考 Day 4 語言參考(下半篇) Day 5 練手程序

    liaosilzu2007 評論0 收藏0
  • PHP學(xué)習(xí) Day 2 REPL 和 包管理

    摘要:包管理試用了,新一代的包管理器,感覺不錯。習(xí)題答案習(xí)題見圖書優(yōu)惠活動,計算需要付的金額。文件讀寫函數(shù)有,表示追加,鎖定文件,避免別的進程同時讀寫。 最新版 Debian Wheezy下的PHP是5.4的,day0時說圖方便就裝了5.4。但是看文檔是5.5的,所以琢磨著還是用最新版算了。 Debian Wheezy有dotdeb.org提供php-5.5。安裝很方便。 將下列內(nèi)容加...

    microelec 評論0 收藏0
  • PHP學(xué)習(xí) Day 0 起步

    摘要:記錄一下學(xué)習(xí)的軌跡。起步推薦用最新的。內(nèi)建服務(wù)器這年頭大部分語言都支持這一出了。交互式的環(huán)境學(xué)習(xí)方便,推薦下家的是用寫的。結(jié)尾可以省略,然后可以簡寫成,于是上面的可以簡寫成當(dāng)然像這種一行的,用也成練習(xí)題感謝出題搭好環(huán)境,寫出第一個。 記錄一下學(xué)習(xí)的軌跡。 入門資料 對我而言好的入門資料要符合兩個要求: 能夠切實幫助以比較正的方式入門 薄 真沒找到什么好的入門資料。沒有《Di...

    Cruise_Chan 評論0 收藏0
  • Swoole Timer 的應(yīng)用

    摘要:你好,的協(xié)程高性能網(wǎng)絡(luò)通信引擎,使用語言編寫,提供了多種通信協(xié)議的網(wǎng)絡(luò)服務(wù)器和客戶端模塊。可應(yīng)用于互聯(lián)網(wǎng)移動通信企業(yè)軟件網(wǎng)絡(luò)游戲物聯(lián)網(wǎng)車聯(lián)網(wǎng)智能家庭等領(lǐng)域。這篇文章主要分享毫秒精度的定時器。最小時間粒度為毫秒。 你好,Swoole PHP 的協(xié)程高性能網(wǎng)絡(luò)通信引擎,使用 C/C++ 語言編寫,提供了多種通信協(xié)議的網(wǎng)絡(luò)服務(wù)器和客戶端模塊。 Swoole 可應(yīng)用于互聯(lián)網(wǎng)、移動通信、企業(yè)軟件...

    fyber 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<