沈逸老師PHP魔鬼特訓筆記(2)

2022-02-17 02:45:16 字數 4349 閱讀 9956

一、這一課會學習到幾個懶人函式:

1、file_put_contents
(php 5, php 7)

file_put_contents — 將乙個字串寫入檔案

intfile_put_contents( string$filename, mixed$data[, int$flags= 0 [, resource$context]] )

和依次呼叫 fopen(),fwrite() 以及 fclose() 功能一樣。

flag is set.

filename要被寫入資料的檔名。

data要寫入的資料。型別可以是 string,array 或者是 stream 資源(如上面所說的那樣)。

如果data指定為 stream 資源,這裡 stream 中所儲存的快取資料將被寫入到指定檔案中,這種用法就相似於使用 stream_copy_to_stream() 函式。

引數data可以是陣列(但不能為多維陣列),這就相當於 file_put_contents($filename, join('', $array))。

flagsflags的值可以是 以下 flag 使用 or (|) 運算子進行的組合。 

例如(源於php.net)

<?php

$file = 'people.txt';file_put_contents($file, $current);

?>

2、getcwd() //獲取當前工作目錄
php 4, php 5, php 7

getcwd — 取得當前工作目錄

說明
stringgetcwd( void )

取得當前工作目錄。

成功則返回當前工作目錄,失敗返回false

在某些 unix 的變種下,如果任何父目錄沒有設定可讀或搜尋模式,即使當前目錄設定了,getcwd()還是會返回false。有關模式與許可權的更多資訊見 chmod()。   

1

例如:在ubuntu終端

2 tiger@xz1024:~$ php -r "echo getcwd();"

3 /home/tigertiger@xz1024:~$

3、substr()
(php 4, php 5, php 7)

substr — 返回字串的子串

stringsubstr( string$string, int$start[, int$length] )

返回字串stringstartlength引數指定的子字串。

string輸入字串。必須至少有乙個字元。

start如果start是非負數,返回的字串將從stringstart位置開始,從 0 開始計算。例如,在字串 「abcdef」 中,在位置 0 的字元是 「a」,位置 2 的字串是 「c」 等等。

如果start是負數,返回的字串將從string結尾處向前數第start個字元開始。

如果string的長度小於start,將返回false。    

example #1 使用負數start

<?php

$rest = substr("abcdef", -1);    // 返回 "f"

$rest = substr("abcdef", -2);    // 返回 "ef"

$rest = substr("abcdef", -3, 1); // 返回 "d"

?>

length

如果提供了正數的length,返回的字串將從start處開始最多包括length個字元(取決於string的長度)。

如果提供了負數的length,那麼string末尾處的許多字元將會被漏掉(若start是負數則從字串尾部算起)。如果start不在這段文字中,那麼將返回乙個空字串。

如果提供了值為 0,falsenulllength,那麼將返回乙個空字串。

如果沒有提供length,返回的子字串將從start位置開始直到字串結尾。

example #2 使用負數length

<?php

$rest = substr("abcdef", 0, -1);  // 返回 "abcde"

$rest = substr("abcdef", 2, -1);  // 返回 "cde"

$rest = substr("abcdef", 4, -4);  // 返回 ""

$rest = substr("abcdef", -3, -1); // 返回 "de"

?>

二、定義個自定義函式

php定義函式

function 函式名(引數1,引數2,引數n)    //

必須有關鍵字funciton

如果要return就ruturn.忘記return返回值,也無所謂。如果函式有返回值,那必須返回。

三、php7特性:

php7允許在函式中增加返回值。比如string、int、array、object等

function 函式名(): string //注意冒號

四、課程**:

第一課我們建立了god這個檔案,這一課,我們建立god_func檔案,通過reuqire在god檔案中引入函式檔案god_func。

同時,我們為了學習php7新特性,專門建立god_func7這個檔案,並在god檔案中判斷引入。

1、god

#

!/usr/local/php/bin/php

<?php

require('god_fun'.substr(php_version,0,1)); //判斷php版本後引入不同的god_func

$result ='';

if($argc >=2)

echo

$result

;

echo

php_eol;

?>

2、god_func

<?php

function

genconfig()

').' of bytes is written.'.php_eol.'god config is created';

}?>

3、god_func7

1

<?php

2function genconfig():string

3').' of bytes is written.'.php_eol.'god config is created';56

}7 ?>

上一課:沈逸老師php魔鬼特訓筆記(1)

下一課:

沈逸老師php魔鬼特訓筆記(3)

沈逸老師PHP魔鬼特訓筆記(6) 巫術與骨架

php最牛逼的特性之一除了懶人函式,還有一些魔法函式。首先我們來認識下 tostring,通過乙個巫術方法,我們吧例項轉化過後的類,直接當字串輸出。結合我們前面所做的功能,我們在類裡面加上這個函式 在godinit檔案中,我們將 require godconfig.php 引入gonconfig這個...

沈逸老師PHP魔鬼特訓筆記 7 我叫什麼名字

一 生成資料夾。bool mkdir string pathname int mode 0777 bool recursive false resource context 嘗試新建乙個由 pathname 指定的目錄。引數 pathname 目錄的路徑。static function start ...

問題 C 沈老師的最後一關

安傑好不容易搬完了彈藥,沒想到沈老師還不打算放過他。除非,他能回答沈老師乙個問題。這個問題很簡單 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。安傑非常愚鈍,你能幫助他嗎?輸入只有一行yyyy mm dd1599 yy...