2016-10-17 13 views
0

私はJSON配列を持っています。私は数4を持つエントリを削除し、アレイPHPのJSON配列からオブジェクトを削除するには

$filters = '{"1":1,"2":2,"3":4}'; 
$fobj = json_decode($filters, TRUE); 

foreach($fobj as $key => $value) 
{ 
if (in_array(4, $fobj)) { 
unset($fobj[4]); 
    } 
} 
echo $filters = json_encode($fobj); 

上で左を返すようにしたい。しかし、このechoは私が欲しいものを私に与えるものではありません。すべてだ

{"1":1,"2":2} 

答えて

4

値ではなく配列の4番目の値を削除します。代わりにarray_searchを使用してください。

$filters = '{"1":1,"2":2,"3":4}'; 
$fobj = json_decode($filters, TRUE); 
$search = array_search(4, $fobj); 
if($search !== false) unset($fobj[$search]); 
echo $filters = json_encode($fobj); 
関連する問題