PHP 第十週函式學習記錄

zerocoder發表於2020-08-23

addcslashes()

作用

addcslashes() 函式返回在指定的字元前新增反斜槓的字串。

用法

addcslashes(string,characters)

註釋

註釋:addcslashes() 函式是區分大小寫的。
註釋:在對 0NULL)、r(回車)、n(換行)、t(換頁)、f(製表符)和 v(垂直製表符)應用 addcslashes() 時要小心。在 PHP 中,\0、\r、\n、\t、\f 和 \v 是預定義的轉義序列。

案例

<?php
$str = "Welcome to my humble Homepage!";
echo $str."<br>";
echo addcslashes($str,'m')."<br>";
echo addcslashes($str,'H')."<br>";
?>

結果

Welcome to my humble Homepage!
Welco\me to \my hu\mble Ho\mepage!
Welcome to my humble \Homepage!

addslashes()

作用

addcslashes() 函式返回在指定的字元前新增反斜槓的字串。

預定義字元是

  • 單引號(’)
  • 雙引號(”)
  • 反斜槓(\)
  • NULL

用法

addslashes(string)

註釋和提示

提示:該函式可用於為儲存在資料庫中的字串以及資料庫查詢語句準備合適的字串。
註釋:預設情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GETPOSTCOOKIE 資料自動執行 addslashes()。不要對已經被 magic_quotes_gpc 轉義過的字串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函式 get_magic_quotes_gpc() 進行檢測。

案例

<?php
$str = addslashes('What does "yolo" mean?');
echo($str);
?>

結果

What does \"yolo\" mean?

bin2hex()

作用

bin2hex() 函式把 ASCII 字元的字串轉換為十六進位制值。字串可通過使用 pack() 函式再轉換回去。

用法

bin2hex(string)

案例

<?php
$str = "Hello world!";
echo bin2hex($str) . "<br>";
echo pack("H*",bin2hex($str)) . "<br>";
?>

結果

48656c6c6f20776f726c6421
Hello world!

chop()

作用

chop() 函式移除字串右側的空白字元或其他預定義字元。

用法

chop(string,charlist)
引數描述
string必需。規定要檢查的字串。
charlist可選。規定從字串中刪除哪些字元。
如果 charlist 引數為空,則移除下列字元:
  • "\0" - NULL
  • "\t" - 製表符
  • "\n" - 換行
  • "\x0B" - 垂直製表符
  • "\r" - 回車
  • " " - 空格

案例

<?php
$str = "Hello World!";
echo $str . "<br>";
echo chop($str,"World!");
?>

結果

Hello World!
Hello

chr()

作用

chr() 函式從指定 ASCII 值返回字元。

ASCII 值可被指定為十進位制值、八進位制值或十六進位制值。八進位制值被定義為帶前置 0,十六進位制值被定義為帶前置 0x。

用法

chr(ascii)

案例

<?php
echo chr(52) . "<br>"; // Decimal value
echo chr(052) . "<br>"; // Octal value
echo chr(0x52) . "<br>"; // Hex value
?>

結果

4
*
R

chunk_split()

作用

chunk_split() 函式把字串分割為一連串更小的部分。

用法

chunk_split(string,length,end)

string    必需。規定要分割的字串。
length    可選。一個數字,定義字串塊的長度。預設為 76。
end        可選。一個字串,定義在每個字串塊之後放置的內容。預設為 \r\n。

案例

<?php
$str = "Hello world!";
echo chunk_split($str,6,"...");
?> 

結果

Hello ...world!...

convert_cyr_string()

作用

convert_cyr_string() 函式把字串由一種 Cyrillic 字符集轉換成另一種。

用法

convert_cyr_string(string,from,to)

string    必需。規定要轉換的字串。
from    必需。一個規定了源 Cyrillic 字符集的字元。
to        必需。一個規定了目標 Cyrillic 字符集的字元。

被支援的 Cyrillic 字符集是:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

案例

<?php
$str = "Hello world! æøå";
echo $str . "<br>";
echo convert_cyr_string($str,'w','a');
?> 

結果

Hello world! æøå
Hello world! ¦è¥

convert_uudecode()

作用

convert_uudecode() 函式對 uuencode 編碼的字串進行解碼。

用法

convert_uudecode(string)

string    必需。規定要解碼的 uuencode 編碼的字串。

案例

<?php
$str = ",2&5L;&\@=V]R;&0A `";
echo convert_uudecode($str);
?> 

結果

Hello world! 

convert_uuencode()

作用

convert_uuencode() 函式使用 uuencode 演算法對字串進行編碼。

用法

convert_uuencode(string)

案例

<?php
$str = "Hello world!";
echo convert_uuencode($str);
?> 

結果

,2&5L;&\@=V]R;&0A `

count_chars()

作用

count_chars() 函式返回字串所用字元的資訊(例如,ASCII 字元在字串中出現的次數,或者某個字元是否已經在字串中使用過)。

用法

count_chars(string,mode)

mode 可選。規定返回模式。預設是 0。有以下不同的返回模式:

  • 0 - 陣列,ASCII 值為鍵名,出現的次數為鍵值
  • 1 - 陣列,ASCII 值為鍵名,出現的次數為鍵值,只列出出現次數大於 * 0 的值
  • 2 - 陣列,ASCII 值為鍵名,出現的次數為鍵值,只列出出現次數等於 0 的值
  • 3 - 字串,帶有所有使用過的不同的字元
  • 4 - 字串,帶有所有未使用過的不同的字元

案例

<?php
$str = "Hello World!";
echo count_chars($str,3);
?>

結果

!HWdelor

crc32()

作用

crc32() 函式計算一個字串的 32CRC(迴圈冗餘校驗)。
該函式可用於驗證資料的完整性。

用法

crc32(string)

提示

提示:為確保您能從 crc32() 函式中取得正確的字串表示,您必須使用 printf()sprintf() 函式的 %u 格式符。如果未使用 %u 格式符,結果可能會顯示為不正確的數字或者負數。

案例

<?php
$str = crc32("Hello World!");
printf("%u\n",$str);
?>  

結果

472456355

crypt()

作用

crypt() 函式返回使用 DES、Blowfish 或 MD5 演算法加密的字串。

用法

crypt(str,salt)

註釋

沒有相應的解密函式。crypt() 函式使用一種單向演算法。

案例

<?php
// 設定密碼
$password = 'mypassword';

// 獲取雜湊值,使用自動鹽值
$hash = crypt($password);
?>  

echo()

作用

echo() 函式輸出一個或多個字串。

用法

echo(strings)

註釋

echo() 函式實際不是一個函式,所以您不必對它使用括號。然而,如果您想要傳多於一個引數給 echo(),使用括號將會生成解析錯誤。

echo() 函式比 print() 速度稍快。

echo() 函式也有簡化語法。在 PHP 5.4.0 版本之前,該語法只適用於 short_open_tag 配置設定啟用的情況。

explode()

作用

explode() 函式使用一個字串分割另一個字串,並返回由字串組成的陣列。

用法

explode(separator,string,limit)

案例

$str = 'one,two,three,four';

//  返回包含一個元素的陣列
print_r(explode(',',$str));

結果

Array
(
    [0] => one
    [1] => two
    [2] => three
)

fprintf()

作用

fprintf() 函式把格式化的字串寫入到指定的輸出流

用法

fprintf(stream,format,arg1,arg2,arg++)

案例

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo fprintf($file,"There are %u million bicycles in %s.",$number,$str);
?>

上面的程式碼將輸出:

40

下面的文字將被寫入到檔案 “test.txt”:

There are 9 million bicycles in Beijing.

get_html_translation_table()

作用

get_html_translation_table() 函式返回 htmlentities()htmlspecialchars() 函式使用的翻譯表。

用法

get_html_translation_table(function,flags,character-set)

function  可選。規定返回哪個翻譯表。
            可能的值:
            HTML_SPECIALCHARS - 預設。翻譯某些需要 URL 編碼的字元,以便正確地顯示在 HTML 頁面上。
            HTML_ENTITIES - 翻譯所有需要 URL 編碼的字元,以便正確地顯示在 HTML 頁面上。

案例

print_r(get_html_translation_table(HTML_SPECIALCHARS));

// print_r(get_html_translation_table(HTML_ENTITIES));

結果

Array
(
    ["] => &quot;
    [&] => &amp;
    [<] => &lt;
    [>] => &gt;
)

hebrev()

作用

hebrev() 函式把希伯來文字從右至左的流轉換為左至右的流。

用法

hebrev(string,maxcharline)

string  必需。希伯來文字。
maxcharline 可選。規定每行的最大字元數。如果可能,hebrev() 將避免把單詞斷開。

提示

hebrev()hebrevc() 可以把希伯來邏輯文字(Windows 編碼)轉換為希伯來可見文字。希伯來可見文字不需要特殊的從右至左字元支援,這使它對於在 Web 上顯示希伯來文字很有用處。

案例

echo hebrev("á çùåï äúùñâ");

hebrevc()

作用

hebrevc() 函式把希伯來文字從右至左的流轉換為左至右的流。同時,把新行(\n)轉換為 <br>

用法

hebrevc(string,maxcharline)

提示

hebrev()hebrevc() 可以把希伯來邏輯文字(Windows 編碼)轉換為希伯來可見文字。希伯來可見文字不需要特殊的從右至左字元支援,這使它對於在 Web 上顯示希伯來文字很有用處。

案例

<?php
echo hebrevc("á çùåï äúùñâ\ná çùåï äúùñâ");
?>

hex2bin()

作用

hex2bin() 函式把十六進位制值的字串轉換為 ASCII 字元。

用法

hex2bin(string)

提示

hebrev()hebrevc() 可以把希伯來邏輯文字(Windows 編碼)轉換為希伯來可見文字。希伯來可見文字不需要特殊的從右至左字元支援,這使它對於在 Web 上顯示希伯來文字很有用處。

案例

<?php
echo hex2bin("48656c6c6f20576f726c6421");
?>

結果

Hello World!

html_entity_decode()

作用

html_entity_decode() 函式把 HTML 實體轉換為字元。

用法

html_entity_decode(string,flags,character-set)

string    必需。規定要解碼的字串。
flags    可選。規定如何處理引號以及使用哪種文件型別。 
        ENT_COMPAT - 預設。僅解碼雙引號。
        ENT_QUOTES - 解碼雙引號和單引號。
        ENT_NOQUOTES - 不解碼任何引號。
character-set    可選。一個規定了要使用的字符集的字串。

提示

html_entity_decode() 函式是 htmlentities() 函式的反函式。

案例

<?php
$str = "Jane &amp; &#039;Tarzan&#039;";
echo html_entity_decode($str, ENT_COMPAT); 
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES);
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); 
?>

結果

// html原始碼結果
<!DOCTYPE html>
<html>
<body>
Jane & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</body>
</html>

// html顯示結果
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

來源

PHP 5 String 函式 | 菜鳥教程

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章