实现步骤: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); ?>