2017-03-29 24 views
0

namespace = "global"でこれらのメタフィールドオブジェクトのみを取得しようとしていますが、PHPでどのように行うことができますか?ただ、すべてのmetafieldsアレイを印刷与えられた名前空間によってそれらをフィルタリングしないでしょうPHPが特定のキー値を持つオブジェクトを取得する

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

。 – 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

ありがとうございます:)! –

関連する問題