php怎么计算字符串交集? php怎么计算字符串交集?$str0="white west";$str1="west north east south";怎样得到$str="west"? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str0 = "white west";$str1 = "west north east south";$a = explode(" ",$str0);$b = explode(" ",$str1);$result = array_intersect($a,$b);print_r($result);输出:Array( [1] => west) 如果有规则的分隔符,先分隔为数组,再使用数组交集函数进行取交集,参考:explode(PHP 4, PHP 5)explode — 使用一个字符串分割另一个字符串说明array explode ( string $separator , string $string [, int $limit ] )此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。 Note: 参数 limit 是在 PHP 4.0.1 中加入的。 Example #1 explode() 例子<?php// 示例 1$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";$pieces = explode(" ", $pizza);echo $pieces[0]; // piece1echo $pieces[1]; // piece2// 示例 2$data = "foo:*:1023:1000::/home/foo:/bin/sh";list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);echo $user; // fooecho $pass; // *?> Example #2 limit 参数例子<?php$str = 'one|two|three|four';// 正数的 limitprint_r(explode('|', $str, 2));// 负数的 limit(自 PHP 5.1 起)print_r(explode('|', $str, -1));?> 以上例程会输出:Array( [0] => one [1] => two|three|four)Array( [0] => one [1] => two [2] => three)Note: 此函数可安全用于二进制对象。=======================================================================array_intersect(PHP 4 >= 4.0.1, PHP 5)array_intersect — 计算数组的交集说明array array_intersect ( array $array1 , array $array2 [, array $ ... ] )array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。 Example #1 array_intersect() 例子<?php$array1 = array("a" => "green", "red", "blue");$array2 = array("b" => "green", "yellow", "red");$result = array_intersect($array1, $array2);?> 这使得 $result 成为: Array( [a] => green [0] => red)Note: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。 使用php登录邮箱(假设为126邮箱),并收发邮件 Call to undefined function imagecreatefromjpeg subversion提交代码后还是红色的感叹号,怎么回事? 工作忙~散分… 都说这样的无限级分类好,大家帮忙分析一下 一个mysql的查询问题 50分救命!!!: php能连sql server,却无法打开数据库? PHP方面的稿件该往哪里投,兄弟们进来说说吧 [每人都有分] 哪位有类似网易社区的PHP+MYSQL的社区? 文件下载…… 关于adodb 一个很简单的问题
$str0 = "white west";
$str1 = "west north east south";
$a = explode(" ",$str0);
$b = explode(" ",$str1);
$result = array_intersect($a,$b);
print_r($result);输出:
Array
(
[1] => west
)
如果有规则的分隔符,先分隔为数组,再使用数组交集函数进行取交集,参考:explode
(PHP 4, PHP 5)explode — 使用一个字符串分割另一个字符串说明
array explode ( string $separator , string $string [, int $limit ] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。 Note: 参数 limit 是在 PHP 4.0.1 中加入的。 Example #1 explode() 例子<?php
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *?>
Example #2 limit 参数例子<?php
$str = 'one|two|three|four';// 正数的 limit
print_r(explode('|', $str, 2));// 负数的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
?>
以上例程会输出:Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)Note: 此函数可安全用于二进制对象。=======================================================================array_intersect
(PHP 4 >= 4.0.1, PHP 5)array_intersect — 计算数组的交集说明
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
Example #1 array_intersect() 例子<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
?>
这使得 $result 成为: Array
(
[a] => green
[0] => red
)Note: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。