2012-04-09 147 views
0

你好嗎? 當我在數組中使用帶有重複值的join()函數時,連接函數返回數組但不刪除重複項,我不想要!join()PHP函數刪除重複值?

例子:

$array= array(1, 2, 2, 2); 
$res = join(',', $array); 

我得到這個:

1,2 

,但我希望得到的結果是:

1,2,2,2 

希望有人能幫幫我!謝謝

+0

當我複製並粘貼你在那裏的內容時可以正常工作。你可以給我們更多的細節嗎? – Rick 2012-04-09 05:24:30

+1

此代碼不會執行您所說的內容:http://codepad.org/mjentvlR – Cal 2012-04-09 05:36:06

回答

2

你說這是你的代碼:

while ($coordenada = mysql_fetch_assoc($resultado)) { 
    $arrayX[$coordenada['ARTICULO']] = $coordenada['ARTICULO'];  
    $arrayY[$coordenada['CANTIDAD']] = $coordenada['CANTIDAD']; 
} 

在這種情況下,你不像你想象的那樣填充數組。您的代碼是這樣做的:

$arrayY[1] = 1; 
$arrayY[2] = 2; 
$arrayY[2] = 2; 
$arrayY[2] = 2; 

因此只包含2個值。如果你想重複,請將你的代碼更改爲:

while ($coordenada = mysql_fetch_assoc($resultado)) { 
    $arrayX[] = $coordenada['ARTICULO'];   
    $arrayY[] = $coordenada['CANTIDAD']; 
} 
+0

是的,幾乎解決了它!我不知道爲什麼我這麼做! thx和sry因爲問題最終成爲其他的東西! Thx to nathanjosiah aswell for the help! – dan 2012-04-09 06:08:31

4

使用implodeimplode(',', $array)即使加入只是破滅的別名,它是適當的功能使用

+0

[implode()](http://php.net/manual/en/function.implode.php)是處理正確的方法這個。 – faino 2012-04-09 05:15:49

+1

我在發佈之前使用了implode(),但我得到了和join()函數 – dan 2012-04-09 05:20:22

+0

一樣的結果,使用了你發佈的確切數組,除了implode會給你想要的結果。你是如何創建陣列的?是否有可能覆蓋值或通過'array_unique'傳遞它? – nathanjosiah 2012-04-09 05:21:54