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

資訊專欄INFORMATION COLUMN

PHP學習 Day 3 語言參考

sean / 854人閱讀

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

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

類型

booleanintegerfloatstringarray等類型。

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

Boolean

以下值為FALSE:

FALSE

0

0.0

"" 和 "0"

[]

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

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

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

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

字符串

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

字符串可以當成字符組成的數組用,即可以用整數作index。

字符串可以參與算術!

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

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

類型強制轉換

上面字符串參與算術的例子就是類型自動轉換。下面是一個強制轉換的例子。

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

允許的強制轉換有 int bool float string array object unset binary

變量

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

global聲明全局變量,用static聲明靜態變量(僅在函數第一次調用時初始化)。

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

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

這將導致如下語句等效:

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

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

常量

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

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

算術

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

比較

=====的區別是是否自動類型轉換。
用于數組時,===還要求順序相同。

錯誤控制

@置于表達式前時,忽略該表達式產生的錯誤信息。

運行外部程序

使用反引號,效果等同于函數shell_exec

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

支持C風格的奇技淫巧:++$a $a++ --$a $a--

邏輯運算符

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

字符串

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

聯合數組

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

流程控制

do while在循環結束后判斷,所以至少運行一次!

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)。注意,通過引用賦值可以方便地修改數組中的元素。

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

break可以接受數字參數決定跳出幾重循環。

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

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支持一般表達式的話,完全可以寫得更簡單的:

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 表達式只能是數字或字符串!

require

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

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

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

goto

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


習題答案

基本的文件讀寫和正則。


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 列表

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/20638.html

相關文章

  • PHP學習 Day 4 語言參考(下半篇)

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

    WelliJhon 評論0 收藏0
  • PHP學習之路 目錄

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

    liaosilzu2007 評論0 收藏0
  • PHP學習 Day 2 REPL 和 包管理

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

    microelec 評論0 收藏0
  • PHP學習 Day 0 起步

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

    Cruise_Chan 評論0 收藏0
  • Swoole Timer 的應用

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

    fyber 評論0 收藏0

發表評論

0條評論

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