PHP 第十一週函式學習記錄

zerocoder發表於2020-08-30

htmlentities()

作用

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

用法

htmlentities(string,flags,character-set,double_encode)

案例

<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); 
echo "<br>";
echo htmlentities($str, ENT_QUOTES); 
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); convert any quotes
?>

結果

// 上面程式碼的 HTML 輸出如下(檢視原始碼):

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

// 上面程式碼的瀏覽器輸出如下:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

htmlspecialchars_decode()

作用

htmlspecialchars_decode() 函式把一些預定義的 HTML 實體轉換為字元。

會被解碼的 HTML 實體是:

&amp; 解碼成 & (和號)
&quot; 解碼成 " (雙引號)
' 解碼成 ' (單引號)
&lt; 解碼成 < (小於)
&gt; 解碼成 > (大於)

用法

htmlentities(string,flags,character-set,double_encode)

案例

<?php
$str = "Jane &amp; 'Tarzan'";
echo htmlspecialchars_decode($str, ENT_COMPAT); //  預設,僅解碼雙引號
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); //  解碼雙引號和單引號
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // 不解碼任何引號
?>

結果

// 上面程式碼的 HTML 輸出如下(檢視原始碼):

<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>

// 上面程式碼的瀏覽器輸出如下:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

htmlspecialchars()

作用

htmlspecialchars() 函式把一些預定義的字元轉換為 HTML 實體。

預定義的字元是:

& (和號)成為 &amp;
" (雙引號)成為 &quot;
' (單引號)成為 '
< (小於)成為 &lt;
> (大於)成為 &gt;

用法

htmlentities(string,flags,character-set,double_encode)

案例

<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // 預設,僅編碼雙引號
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // 編碼雙引號和單引號
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // 不編碼任何引號
?>

結果

// 上面程式碼的 HTML 輸出如下(檢視原始碼):

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; 'Tarzan'<br>
Jane &amp; 'Tarzan'
</body>
</html>

// 上面程式碼的瀏覽器輸出如下:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

implode()

作用

implode() 函式返回一個由陣列元素組合成的字串。

用法

implode(separator,array)

案例

<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
?>

結果

Hello World! Beautiful Day!

join()

作用

join() 函式返回一個由陣列元素組合成的字串。
join() 函式是 implode() 函式的別名。

用法

join(separator,array)

案例

<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo join(" ",$arr);
?>

結果

Hello World! Beautiful Day!

lcfirst()

作用

lcfirst() 函式把字串中的首字元轉換為小寫。

相關函式

  • ucfirst() - 把字串中的首字元轉換為大寫。
  • ucwords() - 把字串中每個單詞的首字元轉換為大寫。
  • strtoupper() - 把字串轉換為大寫。
  • strtolower() - 把字串轉換為小寫。

用法

lcfirst(string)

案例

<?php
echo lcfirst("Hello world!");
?>

結果

hello world!

levenshtein()

作用

函式返回兩個字串之間的 Levenshtein 距離。
Levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由一個字串轉換成另一個字串所需的最少編輯操作次數。許可的編輯操作包括將一個字元替換成另一個字元,插入一個字元,刪除一個字元。

相關函式

  • ucfirst() - 把字串中的首字元轉換為大寫。
  • ucwords() - 把字串中每個單詞的首字元轉換為大寫。
  • strtoupper() - 把字串轉換為大寫。
  • strtolower() - 把字串轉換為小寫。

用法

levenshtein(string1,string2,insert,replace,delete)
string1    必需。要比較的第一個字串。
string2    必需。要比較的第二個字串。
insert    可選。插入一個字元的代價。預設是 1。
replace    可選。替換一個字元的代價。預設是 1delete    可選。刪除一個字元的代價。預設是 1

案例

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>

結果

1
30

localeconv()

作用

函式返回一個包含本地數字及貨幣格式資訊的陣列。

用法

localeconv(string1,string2,insert,replace,delete)

案例

<?php
setlocale(LC_ALL,"US");
$locale_info = localeconv();
print_r($locale_info);
?>

結果

Array
(
    [decimal_point] => .
    [thousands_sep] => 
    [int_curr_symbol] => 
    [currency_symbol] => 
    [mon_decimal_point] => 
    [mon_thousands_sep] => 
    [positive_sign] => 
    [negative_sign] => 
    [int_frac_digits] => 127
    [frac_digits] => 127
    [p_cs_precedes] => 127
    [p_sep_by_space] => 127
    [n_cs_precedes] => 127
    [n_sep_by_space] => 127
    [p_sign_posn] => 127
    [n_sign_posn] => 127
    [grouping] => Array
        (
        )
    [mon_grouping] => Array
        (
        )

)

ltrim()

作用

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

用法

ltrim(string,charlist)

案例

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

結果

Hello World!
World!

md5()

作用

md5() 函式計算字串的 MD5 雜湊。

用法

md5(string,raw)

案例

$str = "Hello"; 
echo "The string: ".$str."<br>"; 
echo "TRUE - Raw 16 character binary format: ".md5($str, TRUE)."<br>"; 
echo "FALSE - 32 character hex number: ".md5($str)."<br>"; 

結果

The string: Hello
TRUE - Raw 16 character binary format: SÄa¨'«øÄx×
FALSE - 32 character hex number: 8b1a9953c4611296a827abf8c47804d7

md5_file()

作用

md5_file() 函式計算檔案的 MD5 雜湊。

用法

md5_file(file,raw)

案例

<?php
    $filename = "test.txt";
    $md5file = md5_file($filename);
    echo $md5file;
?>

結果

d41d8cd98f00b204e9800998ecf8427e

metaphone()

作用

metaphone() 函式計算字串的 metaphone 鍵。

用法

metaphone(string,length)

註釋和提示

metaphone() 函式計算字串的 metaphone 鍵。
metaphone 鍵代表了字串的英語發音。
metaphone() 函式可用於拼寫檢查程式。

註釋:metaphone() 函式為發音相似的單詞建立相同的鍵。
註釋:所生成的 metaphone 鍵長度可變。
提示:metaphone()soundex() 函式更精確,因為 metaphone() 瞭解英語發音的基本規則。

案例

<?php
echo metaphone("World");
?>

結果

WRLT

money_format()

作用

money_format() 函式返回格式化為貨幣字串的字串。

用法

money_format(string,number)

案例

<?php
$number = 1234.56;
setlocale(LC_MONETARY,"en_US");
echo money_format("The price is %i", $number);
?>

結果

The price is USD 1,234.56

nl_langinfo()

作用

nl_langinfo() 函式返回指定的本地資訊。

用法

nl_langinfo(element)

nl2br()

作用

nl2br() 函式在字串中的每個新行(\n)之前插入 HTML 換行符(<br><br />)。

用法

nl2br(string,xhtml)

案例

<?php
echo nl2br("One line.\nAnother line.");
?>

結果

// 上面程式碼的瀏覽器輸出如下:
One line.
Another line.

// 上面程式碼的 HTML 輸入如下(檢視原始碼):
One line.<br />
Another line.

number_format()

作用

number_format() 函式通過千位分組來格式化數字。

用法

number_format(number,decimals,decimalpoint,separator)

number    必需。要格式化的數字。如果未設定其他引數,則數字會被格式化為不帶小數點且以逗號(,)作為千位分隔符。
decimals    可選。規定多少個小數。如果設定了該引數,則使用點號(.)作為小數點來格式化數字。
decimalpoint    可選。規定用作小數點的字串。
separator    可選。規定用作千位分隔符的字串。僅使用該引數的第一個字元。比如 "xxx" 僅輸出 "x"。

註釋:如果設定了該引數,那麼所有其他引數都是必需的。

注意

註釋:該函式支援一個、兩個或四個引數(不是三個)。

案例

<?php
echo number_format("1000000")."<br>";
echo number_format("1000000",2)."<br>";
echo number_format("1000000",2,",",".");
?>

結果

1,000,000
1,000,000.00
1.000.000,00

ord()

作用

ord() 函式返回字串中第一個字元的 ASCII 值。

用法

ord(string)

案例

<?php
echo ord("h")."<br>";
echo ord("hello")."<br>";
?>

結果

104
104

parse_str()

作用

parse_str() 函式把查詢字串解析到變數中。

用法

parse_str(string,array)

案例

<?php
parse_str("name=Peter&age=43",$myArray);
print_r($myArray);
?>

結果

Array ( 
    [name] => Peter 
    [age] => 43 
)

print()

作用

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

用法

print(strings)

註釋

註釋:print() 函式實際不是一個函式,所以您不必對它使用括號。
提示:print() 函式比 echo() 速度稍慢。

案例

<?php
$str = "Hello world!";
print $str;
?>

結果

Hello world!

printf()

作用

printf() 函式輸出格式化的字串。

用法

printf(format,arg1,arg2,arg++)

註釋

arg1、arg2、++ 引數將被插入到主字串中的百分號(%)符號處。該函式是逐步執行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

註釋:如果 % 符號多於 arg 引數,則您必須使用佔位符。佔位符被插入到 % 符號之後,由數字和 "\$" 組成。請參見例項 2提示:相關函式:sprintf()vprintf()vsprintf()fprintf()vfprintf()

案例

<?php
$number = 9;
$str = "Beijing";
printf("There are %u million bicycles in %s.",$number,$str);
?>

結果

There are 9 million bicycles in Beijing.

quoted_printable_decode()

作用

quoted_printable_decode() 對經過 quoted-printable 編碼後的字串進行解碼,返回 8 位的 ASCII 字串

用法

quoted_printable_decode(string)

提示

經過 quoted-printable 編碼後的資料與通過郵件傳輸進行修改的不一樣。一個完全 US-ASCII 的文字可進行 quoted-printable 編碼,用來確保通過文字翻譯或線包閘道器進行訊息傳遞時資料的完整性。

案例

<?php
$str = "Hello=0Aworld.";
echo quoted_printable_decode($str);
?>

結果

上面程式碼的瀏覽器輸出如下:
Hello world.

上面程式碼的 HTML 輸出如下(檢視原始碼):
Hello
world.

quoted_printable_encode()

作用

quoted_printable_encode() 函式把 8 位字串轉換為 quoted-printable 字串。

用法

quoted_printable_encode(string)

提示

經過 quoted-printable 編碼後的資料與通過郵件傳輸進行修改的不一樣。一個完全 US-ASCII 的文字可進行 quoted-printable 編碼,用來確保通過文字翻譯或線包閘道器進行訊息傳遞時資料的完整性。

quotemeta()

作用

quotemeta() 函式在字串中某些預定義的字元前新增反斜槓。

預定義的字元:

  • 句號(.)
  • 反斜槓(\)
  • 加號(+)
  • 星號(*)
  • 問號(?)
  • 方括號([])
  • 脫字號(^)
  • 美元符號($)
  • 圓括號(())

用法

quotemeta(string)

提示

該函式可用於轉義擁有特殊意義的字元,比如 SQL 中的 ( )[ ] 以及 * 。
該函式是二進位制安全的。

案例

<?php
$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
?>

結果

Hello world\. \(can you hear me\?\)

rtrim()

作用

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

用法

rtrim(string,charlist)

案例

<?php
$str = "Hello World! ";
echo "Without rtrim: " . $str;
echo "<br>";
echo "With rtrim: " . rtrim($str);
?>

結果

上面程式碼的 HTML 輸出如下(檢視原始碼):

<!DOCTYPE html>
<html>
<body>
Without rtrim: Hello World! <br>With rtrim: Hello World!
</body>
</html>

setlocale()

作用

setlocale() 函式設定地區資訊(地域資訊)。
地區資訊是針對一個地理區域的語言、貨幣、時間以及其他資訊。

用法

setlocale(constant,location)

註釋和提示

註釋:setlocale() 函式僅針對當前指令碼改變地區資訊。
提示:可以通過 setlocale(LC_ALL,NULL) 把地區資訊設定為系統預設。
提示:如需獲取數字格式資訊,請檢視 localeconv() 函式。

案例

// 設定地區為 US English,然後再設定回系統預設
<?php
echo setlocale(LC_ALL,"US");
echo "<br>";
echo setlocale(LC_ALL,NULL);
?>

結果

English_United States.1252
English_United States.1252

來源

PHP 5 String 函式 | 菜鳥教程

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

相關文章