實現(xiàn)步驟:1、利用str_split()函數(shù)將兩個字符串都轉(zhuǎn)為字符數(shù)組,語法“str_split(字符串)”或“str_split(字符串,1)”,會返回兩個字符數(shù)組;2、使用array_intersect()函數(shù)比較兩個字符數(shù)組求交集,語法“array_intersect(字符數(shù)組1,字符數(shù)組2)”,會返回包含相同字符元素的交集數(shù)組。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,可以借助數(shù)組,利用str_split()和array_intersect()函數(shù)來求兩個字符串的交集。
實現(xiàn)步驟:
步驟1:利用str_split()函數(shù)將兩個字符串都轉(zhuǎn)為字符數(shù)組
str_split() 函數(shù)把字符串分割到數(shù)組中。
str_split(string,length)
參數(shù) | 描述 |
---|---|
string | 必需。規(guī)定要分割的字符串。 |
length | 可選。規(guī)定每個數(shù)組元素的長度。默認是 1。 |
str_split()函數(shù)可以把字符串按照指定長度分割,并傳入數(shù)組中,當(dāng)分割長度為1時即可轉(zhuǎn)為字符數(shù)組。
<?php header('content-type:text/html;charset=utf-8'); $str1 = '012hello3456'; $str2 = '24Bhello68'; $arr1 = str_split($str1); $arr2 = str_split($str2); echo "字符串1:".$str1; var_dump($arr1); echo "字符串2:".$str2; var_dump($arr2); ?>
會得到兩個字符數(shù)組。
步驟2:使用array_intersect()函數(shù)比較兩個字符數(shù)組,獲得交集
array_intersect():比較數(shù)組,返回兩個數(shù)組的交集(只比較鍵值)。
array_intersect(array1,array2,array3...);
參數(shù) | 描述 |
---|---|
array1 | 必需。與其他數(shù)組進行比較的第一個數(shù)組。 |
array2 | 必需。與第一個數(shù)組進行比較的數(shù)組。 |
array3,… | 可選。與第一個數(shù)組進行比較的其他數(shù)組。 |
該函數(shù)返回的交集數(shù)組包含了所有在 array1 中也同時出現(xiàn)在所有其它參數(shù)數(shù)組中的值。
<?php header('content-type:text/html;charset=utf-8'); $str1 = '012hello3456'; $str2 = '24Bhello68'; $arr1 = str_split($str1); $arr2 = str_split($str2); echo "兩個字符數(shù)組:"; var_dump($arr1); var_dump($arr2); $result=array_intersect($arr1,$arr2); echo "交集數(shù)組:"; var_dump($result); ?>
推薦學(xué)習(xí):《PHP視頻教程》