我正在嘗試在PHP/MySQL中完成這項小任務。比較數組中的條目並刪除重複項(PHP,MySQL)
我們正在收集客戶的傳真號碼(和其他數據),如果我們在我工作的公司(不在編程,不用擔心)我們的運營存在問題,我們將使用這些傳真號碼(和其他數據)。
基本上我有一個看起來像這樣的數組。
Array
[1]
[company] => "Company A"
[fax] => "031-558330"
[2]
[company] => "Company B"
[fax] => "031558330"
[3]
[company] => "Company C"
[fax] => "12345"
請注意,如果刪除破折號( - ),[傳真]實際上是1和2中的重複項。
我的問題是我需要刪除[2],因爲它是[1]的重複。基本上,我試圖列出唯一的傳真號碼並打印該唯一傳真號碼的公司名稱。
到目前爲止,我已經做到了這一點:
function format_text($text,$number)
{
$text = str_ireplace(" ","",$text);
$text = str_ireplace("-","",$text);
$text = str_ireplace(",","",$text);
$text = str_ireplace("/","",$text);
$text = str_ireplace("+46","0",$text);
$text = trim($text);
return $text;
}
$fax_result = mysql_query("SELECT fax,company FROM beredskap GROUP BY company") or die(mysql_error());
for($i = 0; $fax_array[$i] = mysql_fetch_assoc($fax_result); $i++) ;
array_pop($fax_array);
for($i = 0; $i<count($fax_array);$i++)
{
$fn = format_text($fax_array[$i]['fax']);
if(!empty($fn)) {
echo trim($fax_array[$i]['company']) .",". $fn ."\n";
}
}
我沒有任何線索,我應該如何比較兩個子元素(從SQL的原始數據可能在他們的差異,但是當刪除破折號和逗號複製到其他條目),然後刪除父鍵。
我真誠地希望我以正確的方式提出了這個問題。
任何人願意幫忙嗎? 謝謝!
檢查這個http://stackoverflow.com/questions/11777160/comparing-array-in-php它可能有幫助全 –
有問題有一個數組匹配算法,通過它你也可以刪除匹配的元素 –
感謝Mayank! eggyal(下文)實際上已經將它扼殺在萌芽狀態 - 在它進入PHP之前就已經成爲了一個問題,並且帶着他/她的SQL魔法。 儘管感謝您的幫助! – mescon