搜尋
首頁php教程php手册沈逸老师PHP魔鬼特训笔记(2),沈逸魔鬼

沈逸老师PHP魔鬼特训笔记(2),沈逸魔鬼

一、这一课会学习到几个懒人函数:

<span>1、file_put_contents</span>

    (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 <br />  $file = 'people.txt';<br>  // Open the file to get existing content<br>  $current = file_get_contents($file);<br>  // Append a new person to the file<br>  $current .= "John Smith\n";<br>  // Write the contents back to the file<br>  file_put_contents($file, $current);<br>  ?>


2、getcwd() //获取当前工作目录


    PHP 4, PHP 5, PHP 7

    getcwd — 取得当前工作目录

   <strong>说明</strong>
    string getcwd ( void )

    取得当前工作目录。



   返回值

    成功则返回当前工作目录,失败返回 FALSE

    在某些 Unix 的变种下,如果任何父目录没有设定可读或搜索模式,即使当前目录设定了,getcwd() 还是会返回 FALSE。有关模式与权限的更多信息见 chmod()。   

<span>  1</span> <span>例如:在ubuntu终端
  </span><span>2</span> tiger@xz1024:~$ php -r "echo getcwd();"
  <span>3</span> /home/tigertiger@xz1024:~$ 

 

3、<span>substr</span>()

    (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 <br />  $rest = substr("abcdef", -1);    // 返回 "f"
  $rest = substr("abcdef", -2);    // 返回 "ef"
  $rest = substr("abcdef", -3, 1); // 返回 "d"<br>  ?>

  length

  如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

  如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

  如果提供了值为 0FALSENULLlength,那么将返回一个空字符串。

  如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

  Example #2 使用负数 length

  <?php <br />  $rest = substr("abcdef", 0, -1);  // 返回 "abcde"
  $rest = substr("abcdef", 2, -1);  // 返回 "cde"
  $rest = substr("abcdef", 4, -4);  // 返回 ""
  $rest = substr("abcdef", -3, -1); // 返回 "de"<br>  ?>

 

二、定义个自定义函数

PHP定义函数

<span>function</span> 函数名(参数1,参数2,参数n)    <span>//</span><span>必须有关键字funciton</span>
<span>{
      函数体;        
}</span>

如果要return就ruturn.忘记return返回值,也无所谓。如果函数有返回值,那必须返回。

三、PHP7特性:

PHP7允许在函数中增加返回值。比如string、int、array、object等

function 函数名(): string //注意冒号

{

}

四、课程代码:

 第一课我们建立了GOD这个文件,这一课,我们建立GOD_FUNC文件,通过reuqire在god文件中引入函数文件god_func。

 同时,我们为了学习PHP7新特性,专门建立god_func7这个文件,并在god文件中判断引入。

  1、god

<span>#</span><span>!/usr/local/php/bin/php</span>
<?<span>php
  
 </span><span>require</span>('god_fun'.<span>substr</span>(<span>PHP_VERSION</span>,0,1<span>));  //判断PHP版本后引入不同的god_func

 </span><span>$result</span> =''<span>;
 </span><span>if</span>(<span>$argc</span> >=2<span> )
 {
   </span>'-v'==<span>$argv</span>[1] && <span>$result</span> = 'god version is 1.0 '<span>;
    </span>'init' == <span>$argv</span>[1] && <span>$result</span> =<span> genConfig();
 }

  </span><span>echo</span> <span>$result</span><span>; 
  </span><span>echo</span> <span>PHP_EOL</span><span>;
  
</span>?>

  2、god_func

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

  }
</span>?>

  3、god_func7

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

 

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器