2016-10-07 5 views
0

こんにちはGuysは誰もが、私は、このデータ を条件に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オブジェクトからデータを削除する方法を教えてくださいすることができますステータスがArchivedのその男の全データ。どのように私はこれを行うことができます私に教えることができます。

+0

'json_decode ' - >' loop' - > if(arhcived)新しい配列に追加します。 - > 'json_encode' –

+0

@DivyanshuKumarあなたは私の答えを下に見ましたか?助けてくれたの? – jszobody

答えて

5

これを行う簡単な方法の1つは、array_filterです。

あなたは最初の配列にあなたのJSONに変換する必要があります:

$users = json_decode($json, true); 

は今、アーカイブの状況とそれらの削除、ユーザーの配列を、フィルタを使用します。今すぐ$active

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

をしますステータスがArchivedではないユーザーの配列になります。

あなたが戻っJSONで結果が必要な場合:ここで

$json = json_encode($active); 

は作業例です: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); 
     } 
    } 
関連する問題