2012-04-09 6 views
0

元気? 配列内の重複した値を持つjoin()関数を使用すると、結合関数は配列を返しますが、重複を削除して、それを必要としません!join()PHP関数は重複した値を削除しますか?

例:

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

が、私はこれを取得するには:

1,2 

が、私は結果になりたい:

1,2,2,2 

ホープ誰かが私を助けることができます!

+0

あなたが持っているものをコピー&ペーストするとうまく動作します。あなたが私たちに与えることができる詳細は何ですか? – Rick

+1

このコードはあなたの言うことをしません:http://codepad.org/mjentvlR – Cal

答えて

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! – dan

4

使用implodeありがとう:implode(',', $array)もかかわらず、参加するだけで破の別名である、それは適切な機能は、あなたがこれはあなたのコードであると言う

+0

[implode()](http://php.net/manual/en/function.implode.php)は正しい方法ですこの。 – faino

+1

私はこれを投稿する前にimplode()を使ってみましたが、join()関数と同じ結果が得られました – dan

+0

あなたが望む結果を与えるimplode以外で投稿した正確な配列を使用しています。どのように配列を作成していますか?値を上書きしたり、 'array_unique'で渡すことは可能ですか? – nathanjosiah