2013-12-18 74 views
0

Ive得到了使用URL陣列,它像這樣:如何將陣列分成2個不同的陣列

$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"); 

謝謝!

+0

林想我需要以某種方式使用in_array但我不能完全肯定。 – Exoon

+0

您可以輕鬆預測文件名嗎?他們是否遵循標準慣例? – Dave

+0

是的,他們總是NAME.rar或NAME.part.rar所以我需要獲得所有的URL與部分到一個數組和所有的網址沒有部分到另一個陣列 – Exoon

回答

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); 
+0

真的很好!我用了第一個腳本,效果很好。只要它讓我接受,就會接受。 – Exoon