2016-09-16 209 views
-5

另一个数组我有一个这样的数组:滤波器阵列由值与PHP

[ 
    { 
    "Firepack_sn":"20012205", 
    "Installation_Date":"", 
    "Type":"EH","Standard":"VAS", 
    "Capacity_m3h":"81", 
    "Pressure_bar":"3,4", 
    "Rpm":"2930", 
    "Power_kw":"72" 
    }, 
    { 
    "Firepack_sn":"20023901", 
    "Installation_Date":"", 
    "Type":"DH","Standard":"VAS", 
    "Capacity_m3h":"195", 
    "Pressure_bar":"4,2", 
    "Rpm":"2000", 
    "Power_kw":"72" 
    } 
] 

而一个数组2这样的:

[ 
    { 
    "user_id":"40009", 
    "firepack_id":"20012205", 
    "activated":"1" 
    }, 
    { 
    "user_id":"40009", 
    "firepack_id":"21020393", 
    "activated":"0" 
    } 
] 

现在我想第一个滤镜阵列,所以我只能获得Firepack_sn,在存在数组2作为firepack_id

所以我想输出的元件是这样的:

[ 
    { 
    "Firepack_sn":"20012205", 
    "Installation_Date":"", 
    "Type":"EH","Standard":"VAS", 
    "Capacity_m3h":"81", 
    "Pressure_bar":"3,4", 
    "Rpm":"2930", 
    "Power_kw":"72" 
    } 
] 

我该如何做到这一点?

回答

1

这里是一个办法做到这一点:

首先,你需要提取你需要寻找的firepack_id,那么你通过$ ARR1需要循环,并检查是否Firepack_sn率比的一个相同如果是,则将其添加到数组中。

$arr1 = json_decode('[{"Firepack_sn":"20012205","Installation_Date":"","Type":"EH","Standard":"VAS","Capacity_m3h":"81","Pressure_bar":"3,4","Rpm":"2930","Power_kw":"72","Pump_Type":"KSB KFP50-200","Motor_Type":"DOOSAN PU066 VAS/CEA","Controller_Type":"WB882-E10 VAS","Pump_sn":"085259","Motor_sn":"EARPA209635","Controller_sn":"","Servicelevel":"","Cust_id":"0","Cust_branche":"","Cust_name":"","Cust_address1":"","Cust_zipcode":"","Cust_city":"","Cust_country":"","Cust_Phone":"","Cust_coachlevel":"","Site_Name":"E-set","Site_address1":"","Site_address2":"","Site_address3":"","Site_zipcode":"","Site_city":"","Site_country":"","Site_contact":"","Site_phone":"","activated":"1"},{"Firepack_sn":"20023901","Installation_Date":"","Type":"DH","Standard":"VAS","Capacity_m3h":"195","Pressure_bar":"4,2","Rpm":"2000","Power_kw":"72","Pump_Type":"KSB KFP50-200","Motor_Type":"DOOSAN PU066 VAS/CEA","Controller_Type":"WB882-E10 VAS","Pump_sn":"085259","Motor_sn":"EARPA209635","Controller_sn":"","Servicelevel":"","Cust_id":"0","Cust_branche":"","Cust_name":"","Cust_address1":"","Cust_zipcode":"","Cust_city":"","Cust_country":"","Cust_Phone":"","Cust_coachlevel":"","Site_Name":"D-set","Site_address1":"","Site_address2":"","Site_address3":"","Site_zipcode":"","Site_city":"","Site_country":"","Site_contact":"","Site_phone":"","activated":"0"}]'); 

$arr2 = json_decode('[{"user_id":"40009","firepack_id":"20012205","activated":"1"},{"user_id":"40009","firepack_id":"21020393","activated":"0"}]'); 

$firepackIds = array(); 
foreach($arr2 as $item){ 
    $firepackIds[] = $item->firepack_id; 
} 

$goodRows = array(); 
foreach($arr1 as $item){ 
    if(in_array($item->Firepack_sn, $firepackIds)){ 
    $goodRows[] = $item; 
    } 
} 

echo json_encode($goodRows); 

希望这会有所帮助。

+0

谢谢!你的答案不起作用,但只需稍作修改即可。编辑: $ item-> firepack_id; = $ item ['firepack_id'] $ item-> Firepack_sn = $ item ['Firepack_sn'] – DNC

+0

@DNC什么不起作用。我对理解你的编辑有些困难,我怀疑其中的一部分已被删除,你能否发表一些要点以便我可以更新我发布的内容? – vincenth