2016-10-10 2 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의 배열을 통해 내가지고 있지 않다 생각 둘 다 같은 데이터를 가지고있는 반면 나에게 배열

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

내가 array_unique($PInvoicesList, SORT_STRING);을 적용 할 수 있습니다, 나는 배열에 두 요소를 모두 얻을. 이 함수를 array_unique($PInvoicesList, SORT_REGULAR);으로 사용했지만 여전히 배열의 두 요소가 모두 나타나고 똑같은 데이터를 가지고 있습니다. 아무도 날이 가이드에서 중복 값을 가진 요소를 제거 할 수 있습니까?

+0

, 소스에서 오류 수정 – RiggsFolly

+0

'var_dump (PInvoicesList); '의 정확한 출력을 보여주십시오. 'array_unique()'는 올바른 함수이지만 두 값이 같지 않습니다. – Rizier123

+0

@RiggsFolly이 코드는 데이터베이스에서 데이터를 가져오고이 데이터는 실제로 데이터베이스에 있기 때문에 발생합니다. – UmarAbbasKhan

답변

-1

array_unique()은 배열에서 중복 값을 제거합니다. 그냥 참조 array_unique()

사용이 http://php.net/manual/en/function.array-unique.php

$result = array_unique($PInvoicesList); 
이 배열이 생성되고 우리가 오히려 약간의 실수가 그런데 ... _Good 코딩 연습을 만든 후이를 성교보다 소스에서 문제를 해결할 수있는 방법을 더 나은 여전히 ​​우리에게 보여
+1

정렬 매개 변수를 제거하면 어떻게 달라질 수 있습니까? – Rizier123

+0

원래 배열을 변경하려는 실수를했기 때문에이 대답은 정확합니다. 반면에 array_unique는 다른 배열을 구성하고 새로운 배열 안에 데이터를 저장합니다. – UmarAbbasKhan

+0

__ 잘못된 아이디어를 수정합니다. 함께 시작하는 것이 ___ – RiggsFolly