2016-10-07 2 views
0

안녕 얘들 아 아무도 내가이 데이터 조건에 JSON 개체를 제거하는 방법을

[ 
    { 
    "username": "7291991451", 
    "uid": "mfwUrskyhzVvzS16pS_a", 
    "name": "Abhishek B", 
    "status": "Active", 
    "is_busy": true, 
    "duty_day_bits": "1111111", 
    "duty_start_time": null, 
    "duty_end_time": null, 
    "vehicle": null, 
    "vehicle_type": null, 
    "todays_mileage": 2244, 
    "yesterdays_mileage": 30498, 
    "created_at": " 3/05/2016 5:14:12PM", 
    "merchant_address": null, 
    "merchant_id": null 
    }, 
    { 
    "username": "7291991462", 
    "uid": "G1knzKyuKoZK78CZySyA", 
    "name": "Akash Gupta", 
    "status": "Active", 
    "is_busy": false, 
    "duty_day_bits": "1111111", 
    "duty_start_time": null, 
    "duty_end_time": null, 
    "vehicle": null, 
    "vehicle_type": null, 
    "todays_mileage": 0, 
    "yesterdays_mileage": 0, 
    "created_at": "18/05/2016 1:16:19PM", 
    "merchant_address": null, 
    "merchant_id": null 
    }, 
    { 
    "username": "7291991456", 
    "uid": "ndHsmz-BvyXfjv42MTyd", 
    "name": "Ankur Sagar", 
    "status": "Archived", 
    "is_busy": false, 
    "duty_day_bits": "1111111", 
    "duty_start_time": null, 
    "duty_end_time": null, 
    "vehicle": null, 
    "vehicle_type": null, 
    "todays_mileage": 0, 
    "yesterdays_mileage": 0, 
    "created_at": " 3/05/2016 5:36:00PM", 
    "merchant_address": null, 
    "merchant_id": null 
    }, 
    { 
    "username": "7503710039", 
    "uid": "j-w2jxx14s6GgF_YkcFP", 
    "name": "Annu Gupta", 
    "status": "Archived", 
    "is_busy": false, 
    "duty_day_bits": "1111111", 
    "duty_start_time": null, 
    "duty_end_time": null, 
    "vehicle": null, 
    "vehicle_type": null, 
    "todays_mileage": 0, 
    "yesterdays_mileage": 0, 
    "created_at": " 2/09/2016 12:59:13PM", 
    "merchant_address": null, 
    "merchant_id": null 
    }, 
    { 
    "username": "9599380369", 
    "uid": "KarAFisqeRpcr_xtEhEB", 
    "name": "Arun Kumar", 
    "status": "Active", 
    "is_busy": true, 
    "duty_day_bits": "1111111", 
    "duty_start_time": null, 
    "duty_end_time": null, 
    "vehicle": null, 
    "vehicle_type": null, 
    "todays_mileage": 0, 
    "yesterdays_mileage": 0, 
    "created_at": " 5/05/2016 1:30:33PM", 
    "merchant_address": null, 
    "merchant_id": null 
    }] 

을 가지고 있지만 내가 제거 할 방법

조건

의 기초에 JSON 개체에서 데이터를 제거하는 말해 줄 수 상태가 보관 된 그 남자의 전체 데이터. 그래서 어느 누구도이 일을 어떻게 할 수 있는지 말해 줄 수 있습니다.

+0

'json_decode '->'loop' -> if (arhcived)가 새로운 배열에 추가됩니다. ->'json_encode' –

+0

@DivyanshuKumar 내 대답을 아래에서 보았습니까? 도움이 되었습니까? – jszobody

답변

5

간편한 방법 중 하나는 array_filter입니다.

먼저 배열로 JSON 변환해야합니다

:

$users = json_decode($json, true); 

지금 필터 사용자의 배열을 사용하는 아카이브의 상태로 사람들을 제거 : 이제

$active = array_filter($users, function($user) { 
    return $user['status'] != 'Archived'; 
}); 

$active이됩니다 보관 됨 상태가 아닌 사용자의 배열이어야합니다.

다음
$json = json_encode($active); 

가 작동 예입니다 : 당신이 다시 결과를 JSON에서 필요한 경우

https://3v4l.org/5KMaC

+0

안녕이 방법은 내가 무작위로 배열 번호를 얻고있다 그리고 나는 드롭 다운에 데이터를로드해야합니다. 어떻게 그렇게 할 수 있겠습니까? –

+0

그러면 코드 어딘가에 다른 문제가 생깁니다. 내가 제공 한 답변은 귀하가 제공 한 JSON에 완벽하게 적용됩니다. 우리가하는 일을 이해할 수 있도록 PHP 코드를 보여줘야 할 것입니다. 다른 문제이므로 새로운 질문을 올리는 것이 가장 좋습니다. – jszobody

-1

당신이 주어진 코드를 사용할 수 있습니다, 그것은 제대로 작동 : -

$users = json_decode($json, true); 
    $count=count($users); 
    for($i=0; $i<$count; $i++) 
    { 
     if($users->status=="Archived") 
     { 
     print_r($users); 
     } 
    } 
관련 문제