程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 沈逸老師PHP魔鬼特訓筆記(2),沈逸魔鬼

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

編輯:關於PHP編程

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


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

1、file_put_contents

    (PHP 5, PHP 7)

    file_put_contents — 將一個字符串寫入文件

  說明

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

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

    If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND 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';
  // Open the file to get existing content
  $current = file_get_contents($file);
  // Append a new person to the file
  $current .= "John Smith\n";
  // Write the contents back to the file
  file_put_contents($file, $current);
  ?>


2、getcwd() //獲取當前工作目錄


    PHP 4, PHP 5, PHP 7

    getcwd — 取得當前工作目錄

   說明
    string getcwd ( 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 — 返回字符串的子串

  說明

    string substr ( 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 不在這段文本中,那麼將返回一個空字符串。

  如果提供了值為 0FALSENULLlength,那麼將返回一個空字符串。

  如果沒有提供 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 )
 {
   '-v'==$argv[1] && $result = 'god version is 1.0 ';
    'init' == $argv[1] && $result = genConfig();
 }

  echo $result; 
  echo PHP_EOL;
  
?>

  2、god_func

<?php
  function genConfig()
  {
    return file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'.PHP_EOL.'god config is created';

  }
?>

  3、god_func7

1 <?php
2   function genConfig():string
3    {
4     return file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'.PHP_EOL.'god config is created';
5 
6    }
7 ?>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved