我有一個包含電話號碼的csv文件。比較和過濾php中的數組值
約有15個數字,區號+44和20個數字以+64開頭(大約有40個區號)。我需要回顯每組中的一個數字並刪除剩餘部分。
我使用fgetcsv()加載了所有的內容。但我無法找到一種方法來做過濾部分。可以一些請給我一個想法如何在PHP中解決這個問題?
我有一個包含電話號碼的csv文件。比較和過濾php中的數組值
約有15個數字,區號+44和20個數字以+64開頭(大約有40個區號)。我需要回顯每組中的一個數字並刪除剩餘部分。
我使用fgetcsv()加載了所有的內容。但我無法找到一種方法來做過濾部分。可以一些請給我一個想法如何在PHP中解決這個問題?
試試這個替換$號碼與您的CSV文件的內容。
$numbers = array('+1134124', '+11412421', '+41125125','+41125124','+41125144','+41155124','+44125124','+44155124');
$final = array();
$received = array();
foreach($numbers as $snKey => $snValue)
{
$snCode = substr($snValue,0,3);
if(in_array($snCode,$received))
continue;
else
{
$received[] = $snCode;
$final[] = $snValue;
}
}
print_r($final);
謝謝......在對我的程序進行一些更改後,它的工作原理非常完美。 – LiveEn 2011-06-15 05:27:54
$numbers = array('+1134124', '+11412421', '+41125125', …);
$filtered = array_reduce($numbers, function ($f, $num) {
return $f + array(substr($num, 0, 3) => $num);
}, array());
可以過濾他們,而從文件中讀取行
,如:
$array = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$prefix = substr($data, 0, 3);
if(in_array($prefix, $array))
continue;
else{
$array[] = prefix;
# save the line or echo
}
}
那麼有一個或三個字母的區號呢? – hakre 2011-06-09 12:59:05