一、這一課會學習到幾個懶人函式:
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))。
flags
flags
的值可以是 以下 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
] )
返回字串string
由start
和length
引數指定的子字串。
string
輸入字串。必須至少有乙個字元。
start
如果start
是非負數,返回的字串將從string
的start
位置開始,從 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,false
或null
的length
,那麼將返回乙個空字串。
如果沒有提供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
<?phpfunction
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...