PHP 第十二週函式學習記錄

zerocoder發表於2020-09-06

sha1()

作用

sha1() 函式計算字串的 SHA-1 雜湊。

用法

sha1(string,raw)

案例

<?php
$str = "Hello";
echo sha1($str);
?>

結果

f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

sha1_file()

作用

sha1_file() 函式計算檔案的 SHA-1 雜湊。

用法

sha1_file(file,raw)

案例

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

結果

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

similar_text()

作用

similar_text() 函式計算兩個字串的相似度。

用法

similar_text(string1,string2,percent)

案例

<?php
echo similar_text("Hello World","Hello Peter");
?>

結果

7

soundex()

作用

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

用法

soundex(string)

案例

<?php
$str = "Hello";
echo soundex($str);
?>

結果

H400

sprintf()

作用

sprintf() 函式把格式化的字串寫入一個變數中。

用法

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

案例

<?php
$number = 9;
$str = "RUNOOB";
$txt = sprintf("%s 每天有 %u 萬人在訪問!", $str, $number);
echo $txt;
?>

結果

RUNOOB 每天有 9 萬人在訪問!

sscanf()

作用

sscanf() 函式根據指定的格式解析來自一個字串的輸入。 sscanf() 函式基於格式字串解析字串到變數中。

用法

sscanf(string,format,arg1,arg2,arg++)

案例

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>

結果

int(30) int(60)

str_getcsv()

作用

str_getcsv() 函式解析 CSV 格式欄位的字串,並返回一個包含所讀取欄位的陣列。

用法

str_getcsv(string,separator,enclosure,escape)
引數 描述
string 必需。規定要解析的字串。
separator 可選。設定欄位分界符(只允許一個字元),預設值為逗號( , )。
enclosure 可選。設定欄位環繞符(只允許一個字元),預設值為雙引號( “ )。
escape 可選。設定轉義字元(只允許一個字元),預設值為反斜線( \ )。

str_ireplace()

作用

str_ireplace() 函式替換字串中的一些字元(不區分大小寫)。

用法

str_ireplace(find,replace,string,count)

該函式必須遵循下列規則:

  • 如果搜尋的字串是一個陣列,那麼它將返回一個陣列。
  • 如果搜尋的字串是一個陣列,那麼它將對陣列中的每個元素進行查詢和替換。
  • 如果同時需要對某個陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘的元素將用空字串進行替換。
  • 如果是對一個陣列進行查詢,但只對一個字串進行替換,那麼替代字串將對所有查詢到的值起作用。

案例

<?php
$find = array("HELLO","WORLD"); // This function is case-insensitive
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_ireplace($find,$replace,$arr));
?>

結果

Array ( 
    [0] => B
    [1] => 
    [2] => ! 
)

str_pad()

作用

str_pad() 函式把字串填充為新的長度。

用法

str_pad(string,length,pad_string,pad_type)

pad_string    可選。規定供填充使用的字串。預設是空白。

pad_type 可能的值:

  • STR_PAD_BOTH - 填充字串的兩側。如果不是偶數,則右側獲得額外的填充。
  • STR_PAD_LEFT - 填充字串的左側。
  • STR_PAD_RIGHT - 填充字串的右側。這是預設的。

案例

<?php
$str = "Hello World";
echo str_pad($str,20,".",STR_PAD_LEFT);
?>

結果

Hello World.........

str_repeat()

作用

str_repeat() 函式把字串重複指定的次數。

用法

str_repeat(string,repeat)

案例

<?php
echo str_repeat(".",13);
?>

結果

.............

str_replace()

作用

str_replace() 函式替換字串中的一些字元(區分大小寫)。

用法

str_replace(find,replace,string,count)

該函式必須遵循下列規則:

  • 如果搜尋的字串是一個陣列,那麼它將返回一個陣列。
  • 如果搜尋的字串是一個陣列,那麼它將對陣列中的每個元素進行查詢和替換。
  • 如果同時需要對某個陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘的元素將用空字串進行替換。
  • 如果是對一個陣列進行查詢,但只對一個字串進行替換,那麼替代字串將對所有查詢到的值起作用。

註釋

該函式是區分大小寫的。請使用 str_ireplace() 函式執行不區分大小寫的搜尋
該函式是二進位制安全的

案例

<?php
echo str_replace("world","Peter","Hello world!");
?>

結果

Hello Peter!

str_rot13()

作用

str_rot13() 函式對字串執行 ROT13 編碼。

用法

str_rot13(string)

提示

ROT13 編碼是把每一個字母在字母表中向前移動 13 個字母得到。數字和非字母字元保持不變。
編碼和解碼都是由相同的函式完成的。如果您把一個已編碼的字串作為引數,那麼將返回原始字串。

案例

<?php
echo str_rot13("Hello World");
echo "<br>";
echo str_rot13("Uryyb Jbeyq");
?>

結果

Uryyb Jbeyq
Hello World

str_shuffle()

作用

str_shuffle() 函式隨機地打亂字串中的所有字元。

用法

str_shuffle(string)

案例

<?php
echo str_shuffle("Hello World");
?>

結果

lolWo drHle

str_split()

作用

str_split() 函式把字串分割到陣列中。

用法

str_split(string,length)

案例

<?php
print_r(str_split("Hello"));
?>

結果

Array ( 
    [0] => H 
    [1] => e 
    [2] => l 
    [3] => l 
    [4] => o 
)

str_word_count()

作用

str_word_count() 函式計算字串中的單詞數。

用法

str_word_count(string,return,char)

案例

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

結果

2

strcasecmp()

作用

strcasecmp() 函式比較兩個字串。

用法

strcasecmp(string1,string2)

提示

提示:strcasecmp() 函式是二進位制安全的,且不區分大小寫。
提示:該函式與 strncasecmp() 函式類似,不同的是,通過 strncasecmp() 您可以指定每個字串用於比較的字元數。

案例

<?php
echo strcasecmp("Hello","HELLO");
echo "<br>";
echo strcasecmp("Hello","hELLo");
?>

結果

0
0

strchr()

作用

strchr() 函式搜尋字串在另一字串中的第一次出現。

用法

strchr(string,search,before_search);
before_search    可選。一個預設值為 "false" 的布林值。如果設定為 "true",它將返回 search 引數第一次出現之前的字串部分。

註釋

該函式是 strstr() 函式的別名。
該函式是二進位制安全的。
該函式是區分大小寫的。如需進行不區分大小寫的搜尋,請使用 stristr() 函式。

案例

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

結果

world!

strcmp()

作用

strcmp() 函式比較兩個字串。

用法

strcmp(string1,string2)

註釋

strcmp() 函式是二進位制安全的,且區分大小寫。
該函式與 strncmp() 函式類似,不同的是,通過 strncmp() 您可以指定每個字串用於比較的字元數。

案例

<?php
echo strcmp("Hello","Hello");
echo "<br>";
echo strcmp("Hello","hELLo");
?>

結果

0
-1

strcoll()

作用

strcoll() 函式比較兩個字串
字串的比較會根據本地設定而變化(A<a 或 A>a)。

用法

strcmp(string1,string2)

註釋

strcoll() 是區分大小寫的,但不是二進位制安全的。
如果當前的本地設定是 CPOSIX,則該函式的工作方式與 strcmp() 相同。

案例

<?php
setlocale (LC_COLLATE, 'NL');
echo strcoll("Hello World!","Hello World!");
echo "<br>";

setlocale (LC_COLLATE, 'en_US');
echo strcoll("Hello World!","Hello World!");
?>

結果

0
0

strcspn()

作用

strcspn() 函式返回在找到任何指定的字元之前,在字串查詢的字元數(包括空格)。

用法

strcspn(string,char,start,length)

案例

<?php
echo strcspn("Hello world!","w");
?>

結果

6

strcspn()

作用

strcspn() 函式返回在找到任何指定的字元之前,在字串查詢的字元數(包括空格)。

用法

strcspn(string,char,start,length)

案例

<?php
echo strcspn("Hello world!","w");
?>

結果

6

strip_tags()

作用

strip_tags() 函式剝去字串中的 HTMLXML 以及 PHP 的標籤。

用法

strip_tags(string,allow)
allow    可選。規定允許的標籤。這些標籤不會被刪除。

註釋

該函式始終會剝離 HTML 註釋。這點無法通過 allow 引數改變。
該函式是二進位制安全的。

案例

<?php
echo strip_tags("Hello <b>world!</b>");
?>

結果

Hello world!

stripcslashes()

作用

stripcslashes() 函式刪除由 addcslashes() 函式新增的反斜槓。

用法

stripcslashes(string)

提示

該函式可用於清理從資料庫中或者從 HTML 表單中取回的資料。

案例

<?php
echo stripslashes("Hello \World!");
?>

結果

Hello World!

stripslashes()

作用

stripslashes() 函式刪除由 addslashes() 函式新增的反斜槓。

用法

stripslashes(string)

提示

該函式可用於清理從資料庫中或者從 HTML 表單中取回的資料。

案例

<?php
echo stripslashes("Who\'s Peter Griffin?");
?>

結果

Who's Peter Griffin?

stripos()

作用

stripos() 函式查詢字串在另一字串中第一次出現的位置(不區分大小寫)

用法

stripos(string,find,start)

提示

stripos() 函式是不區分大小寫的。
該函式是二進位制安全的。

案例

<?php
echo stripos("I love php, I love php too!","PHP");
?>

結果

7

stristr()

作用

stristr() 函式搜尋字串在另一字串中的第一次出現。

用法

stristr(string,search,before_search)

提示

該函式是不區分大小寫的。如需進行區分大小寫的搜尋,請使用 strstr() 函式。
該函式是二進位制安全的。

案例

<?php
echo stristr("Hello world!","WORLD");
?>

結果

world!

strlen()

作用

strlen() 函式返回字串的長度,中文字串的處理使用 mb_strlen() 函式。。

用法

strlen(string)

案例

<?php
echo strlen("Hello");
?>

結果

5

strnatcasecmp()

作用

strnatcasecmp() 函式使用一種"自然"演算法來比較兩個字串(不區分大小寫)。

在自然演算法中,數字 2 小於數字 10。在計算機排序中,10 小於 2,這是因為 10 中的第一個數字小於 2

用法

strlen(string)

返回值

  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

案例

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

結果

-1
1

strnatcasecmp()

作用

strnatcasecmp() 函式使用一種"自然"演算法來比較兩個字串(不區分大小寫)。

在自然演算法中,數字 2 小於數字 10。在計算機排序中,10 小於 2,這是因為 10 中的第一個數字小於 2

用法

strnatcasecmp(string1,string2)

返回值

  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

案例

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

結果

-1
1

strnatcmp()

作用

strnatcmp() 函式使用一種"自然"演算法來比較兩個字串(區分大小寫)。

用法

strnatcmp(string1,string2)

返回值

  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

案例

<?php
echo strnatcmp("2Hello world!","10Hello world!");
echo "<br>";
echo strnatcmp("10Hello world!","2Hello world!");
?>

結果

-1
1

strncasecmp()

作用

strncasecmp() 函式比較兩個字串(不區分大小寫)。

用法

strncasecmp(string1,string2,length)

返回值

  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

案例

<?php
echo strncasecmp("Hello world!","hello earth!",6);
?>

結果

0

strncmp()

作用

strncmp() 函式比較兩個字串(區分大小寫)。

用法

strncmp(string1,string2,length)

返回值

  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

案例

<?php
echo strncmp("Hello world!","Hello earth!",6);
?>

結果

0

來源

PHP 5 String 函式 | 菜鳥教程

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

相關文章