2012-04-09 104 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