如何将数组拆分为2个不同的数组

时间:2013-12-18 21:07:42

标签: php arrays

我有一个包含URL的数组,如下所示:

$urls = array("http://myurl.com/file/2222/file.rar", "http://myurl.com/file/2222/file.part1.rar", "http://myurl.com/file/2222/file.part2.rar", "http://myurl/file/2222/file.part3.rar", "http://myurl.com/file/2222/file.part4.rar");

我想找到任何文件名来检查它们是一个部分还是一个文件。

例如,上述结果应为:

$single = "http://myurl.com/file/2222/file.rar";
$splits = array("http://myurl.com/file/2222/file.part1.rar", "http://myurl.com/file/2222/file.part2.rar", "http://myurl.com/file/2222/file.part3.rar", "http://myurl.com/file/2222/file.part4.rar");

提前致谢!

1 个答案:

答案 0 :(得分:2)

我喜欢preg_grep()

$parts = preg_grep('/\.part\d+\.rar/', $urls);
$singles = array_diff($urls, $parts);

或者为单身人士做相反的事情:

$singles = preg_grep('/\.part\d+\.rar/', $urls, PREG_GREP_INVERT);