2016-10-10 14 views
-1

動的データベースPHPの配列ユニーク

$PInvoicesList=array(); 
    $SelectPInvoicesList ="SELECT * FROM AllDataEntriesList 
          WHERE BusinessID = '{$businessid}' 
          AND DocumentType = 'purchaseinvoice' 
          ORDER BY Time ASC;"; 
    $SelectPInvoicesList_query = mysqli_query($connection, $SelectPInvoicesList); 
    if(!$SelectPInvoicesList_query){ 
     die ("Database query for searching Purchase Invoices failed.".mysqli_error($connection)); 
    } 
    while ($SelectPInvoicesList_array = mysqli_fetch_assoc($SelectPInvoicesList_query)){ 

     $PInvoicesList[]=$SelectPInvoicesList_array["DocumentID"]; 
    } 
    array_unique($PInvoicesList); 
    print_r($PInvoicesList); 

そしてこれからのデータが移入されたPHPの配列を持っている私は私の問題は、かなり基本的かつシンプルであると考えているが、私はit.Iを通じて得ていないと思います私はarray_unique($PInvoicesList, SORT_STRING);を適用すると、私に配列

Array ([0] => pk-000000003-purchaseinvoice-1 
     [1] => pk-000000003-purchaseinvoice-1 
    ) 

を与え、彼らの両方が同じデータを持っているのに対し、私は、アレイ内の両方の要素の両方を取得します。私はこの機能をarray_unique($PInvoicesList, SORT_REGULAR);として使っていましたが、まだ配列の両方の要素が表示されていて、まったく同じデータを持っています。どのように私はこの配列から重複した値を持つ要素を削除できますか?

+0

... _Goodは道で練習をコーディング、これを参照してくださいarray_unique()

を使用、ソースでエラーを修正してください – RiggsFolly

+0

'var_dump(PInvoicesList);'の正確な出力を表示してください。 'array_unique()'は正しい関数ですが、あなたの2つの値は同じではありません。 – Rizier123

+0

@RiggsFollyこれは、このコードがデータベースからデータを取得しており、このデータが実際にデータベースに存在するためです。 – UmarAbbasKhan

答えて

-1

array_unique()は、配列から重複した値を削除します。ちょうど良いが、まだこの配列が作成され、いくつかのミスが行われた後、我々はソースではなく、それをfrigそれを修正することができますどのように私たちを見るhttp://php.net/manual/en/function.array-unique.php

$result = array_unique($PInvoicesList); 
+1

並べ替えパラメータを削除すると違いはありますか? – Rizier123

+0

元の配列を変更しようと間違っているので、この答えは正しいですが、array_uniqueは別の配列を作成し、その新しい配列の中にデータを置きます。 – UmarAbbasKhan

+0

__Dontは悪いアイデアを修正します。 with @ _ – RiggsFolly