程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何在 PHP 中删除对象数组

发布于2023-03-23 07:20     阅读(816)     评论(0)     点赞(13)     收藏(3)


    <?php
$test = '{
    "100": {
        "name": "Sports",
        "contentID": "100"
    },
    "200": {
        "name": "Village",
        "contentID": "200"
    }
}';
$idWiseData = json_decode($test,true);


$test2 = '[
    {
        "contentID": "100",
        "contentStatus": "active"
    },
    {
        "contentID": "200",
        "contentStatus": "active"
    },
    {
        "contentID": "300",
        "contentStatus": "active"
    }
]';
$allTopics = json_decode($test2,true);

foreach ($allTopics as $key => &$topic) {
        $contentInfo = [
            'contentStatus'     => $topic['contentStatus']
        ];
$topic['contentName']  = isset($idWiseData[$topic['contentID']]['name']) ? $idWiseData[$topic['contentID']]['name'] : null;
}
echo "<pre>";
print_r($allTopics);
?>

上面的代码工作正常,我没有得到预期的输出。实际上$allTopics有 3 个对象(contentID 100 & 200 & 300)。$idWiseData具有对象(contentID 100 和 200)。我想从$idWiseDataname中获取值根据 contentID 替换为$allTopics 。contentID 300 没有名字所以不应该出现这个对象。

预计输出

 Array
(
    [0] => Array
        (
            [contentID] => 100
            [contentStatus] => active
            [contentName] => Sports
        )

    [1] => Array
        (
            [contentID] => 200
            [contentStatus] => active
            [contentName] => Village
        )

)

我得到输出

 Array
(
    [0] => Array
        (
            [contentID] => 100
            [contentStatus] => active
            [contentName] => Sports
        )

    [1] => Array
        (
            [contentID] => 200
            [contentStatus] => active
            [contentName] => Village
        )

    [2] => Array
        (
            [contentID] => 300
            [contentStatus] => active
            [contentName] => 
        )

)

请任何人更新我的代码。


解决方案


据我了解,如果是,则需要unset()数组中的索引这可以通过使用unset()来实现contentNamenull

foreach ($allTopics as $key => &$topic) {
    // your code here ....

    if (is_null($topic['contentName'])) {
        unset(allTopics[$key]);
    }
}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/520593/414cd658101824962c48/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

13 0
收藏该文
已收藏

评论内容:(最多支持255个字符)