How to remove duplicate data of JSON object using PHP

前端 未结 3 1531
[愿得一人]
[愿得一人] 2020-12-11 07:17

I need one help.I have some JSON type data and i want to remove the duplicate set of data using PHP.I am explaining my code below.

data=[
   {\'member_name\'         


        
3条回答
  •  醉梦人生
    2020-12-11 08:09

    First json_decode the JSON string, so we can work with it in PHP. Then you should use array_unique with the flag SORT_REGULAR to remove all duplicates and lastly json_encodeit again to a JSON string. Here's a working example:

    $data = '[
       {"member_name":"member1","no_of_users":20},
        {"member_name":"member1","no_of_users":20},
        {"member_name":"member1","no_of_users":20},
        {"member_name":"member2","no_of_users":10},
       {"member_name":"member2","no_of_users":10},
       {"member_name":"member3","no_of_users":30}
    ]';
    
    // Make a PHP array from the JSON string.
    $array = json_decode( $data, TRUE );
    
    // Only keep unique values, by using array_unique with SORT_REGULAR as flag.
    // We're using array_values here, to only retrieve the values and not the keys.
    // This way json_encode will give us a nicely formatted JSON string later on.
    $array = array_values( array_unique( $array, SORT_REGULAR ) );
    
    // Make a JSON string from the array.
    $result = json_encode( $array );
    

    Edit: Based on your edit in your question: Don't assign $result to a var_dump. Replace $result=var_dump( array_unique( $res, SORT_REGULAR ) ); by $result=array_unique( $res, SORT_REGULAR );

提交回复
热议问题