我有阵列
Product:[
{
content:'',
tag:[
{
name:'a',
},
{
name:'b'
}
]
}
]
我有价值x =’a’
我使用了两个foreach,一个foreach循环Product和一个foreach循环标记,然后检查条件if(name == x)并删除item
码
$tag = 'a'
foreach($blogs as $blog) {
foreach(json_decode($blog->tag) as $detail_tag) {
if($detail_tag == $tag) {
delete($detail_tag);
}
}
}
但是,我的意思是功能有一些错误(我在纸上写代码,我不测试:()我的意思是没有性能@@.谢谢
解决方法:
>您需要先使用json_decode()
函数将JSON对象转换为数组.此函数中的第二个参数设置为true,以便将JSON转换为关联数组.
>然后,循环遍历数组.在foreach中,您还需要访问键,以便取消设置()值.
>然后,使用json_encode()
函数将数组转换回JSON对象.
尝试:
$tag = 'a';
foreach($blogs as $blog) {
// convert to array using json_decode() (second parameter to true)
$blog_arr = json_decode($blog->tag, true);
// Loop over the array accessing key as well
foreach( $blog_arr as $key => $detail_tag){
if ($detail_tag === $tag) {
// unset the key
unset($blog_arra[$key]);
}
// Convert back to JSON object
$blog_tag_modified = json_encode($blog_arr);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。