2017-03-29 47 views
0

我想獲得只有namespace =「global」的這些metafields對象,我該如何在PHP中做到這一點?PHP獲取具有特定鍵值的對象

<?php $response = {"metafields":[{"id":30007223558,"namespace":"global"}, {"id":454872458451,"namespace":"local"}, {"id":154644565,"namespace":"global"}]} ?> 
<?php $response = json_decode($response); ?> 
+1

這將只打印所有metafields陣列,而不是由給定命名空間過濾。 – Vini

回答

3
$response = json_decode($response, true); 

$filtered['metafields'] = array_filter($response['metafields'], function ($item) { 
    return $item['namespace'] === 'global'; 
}); 

var_dump($filtered); 

array(1) { 
    ["metafields"]=> 
    array(2) { 
    [0]=> 
    array(2) { 
     ["id"]=> 
     int(30007223558) 
     ["namespace"]=> 
     string(6) "global" 
    } 
    [2]=> 
    array(2) { 
     ["id"]=> 
     int(154644565) 
     ["namespace"]=> 
     string(6) "global" 
    } 
    } 
} 
+0

謝謝你的作品:)! –