實作步驟:1、利用str_split()函數將兩個字串都轉為字元數組,語法“str_split(字串)”或“str_split(字串,1)”,會傳回兩個字元數組;2、使用array_intersect()函數比較兩個字元數組求交集,語法“array_intersect(字元數組1,字元數組2)”,會傳回包含相同字元元素的交集數組。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以藉助數組,利用str_split ()和array_intersect()函數來求兩個字串的交集。
實作步驟:
步驟1:利用str_split()函數將兩個字串都轉換成字元陣列
str_split() 函數把字串分割到陣列中。
str_split(string,length)
參數 | 描述 |
---|---|
#string | 必要。規定要分割的字串。 |
length | 可選。規定每個數組元素的長度。預設是 1。 |
str_split()函數可以把字串依照指定長度分割,並傳入陣列中,分割長度為1時即可轉為字元陣列。
<?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); ?>
會得到兩個字元陣列。
步驟2:使用array_intersect()函數比較兩個字元數組,取得交集
array_intersect():比較數組,傳回兩個數組的交集(只比較鍵值)。
array_intersect(array1,array2,array3...);
參數 | 描述 |
---|---|
#array1 | 必要。與其他數組進行比較的第一個數組。 |
array2 | 必要。與第一個數組進行比較的數組。 |
array3,... | 可選。與第一個數組進行比較的其他數組。 |
該函數傳回的交集陣列包含了所有在 array1 中也同時出現在所有其它參數陣列中的值。
<?php header('content-type:text/html;charset=utf-8'); $str1 = '012hello3456'; $str2 = '24Bhello68'; $arr1 = str_split($str1); $arr2 = str_split($str2); echo "两个字符数组:"; var_dump($arr1); var_dump($arr2); $result=array_intersect($arr1,$arr2); echo "交集数组:"; var_dump($result); ?>
推薦學習:《PHP影片教學》
以上是php怎麼對字串求交集的詳細內容。更多資訊請關注PHP中文網其他相關文章!