加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在现有数组中追加数据而不覆盖整个数组

发布时间:2020-12-13 22:10:19 所属栏目:PHP教程 来源:网络整理
导读:这是我的代码,在这段代码中,我通过函数read_from_json读取现有数组,该函数将 JSON转换为数组,现在从远程数据中获取新数据,因此我必须将这些数据附加到现有数组中而不覆盖整个数据阵列.就像我获取一个id一样,它使用in_array函数进行搜索,如果找不到,则向其发
这是我的代码,在这段代码中,我通过函数read_from_json读取现有数组,该函数将 JSON转换为数组,现在从远程数据中获取新数据,因此我必须将这些数据附加到现有数组中而不覆盖整个数据阵列.就像我获取一个id一样,它使用in_array函数进行搜索,如果找不到,则向其发送消息,然后将唯一的特定条目附加到现有数组.由于foreach迭代存在一个问题,所以它会覆盖所有数组,我还能做些什么.请看一下这段代码:

$read_data = $this->read_from_json( 'xyz.json' );

foreach ( $projects_id_tickcamp as $tick_id => $base_id ) {

            if ( !$this->in_array( $base_id['base_id'],$read_data ) ) {

                echo '<b>do post message function for ' . $tick_id . ' ' . $base_id['base_id'] . '</b><br />';

                $i = count( $read_data );

                while ( $i >= count( $base_id['base_id'] ) ) {

                    echo 'post message start' .'<br />';
                    $i++;
                    break;
                    $projects_id_tickcamp[$tick_id]['message_id'] = 1;

                }

                //echo 'posted message id of ' . $base_id['basecamp_id'] . '<br />';
            } else {
                echo 'do nothing' . '<br />';
                //return false;
            }
        }

        //echo 'write data if id similar' . '<br />';
        $this->write_to_json( 'xyz.json',$projects_id_tickcamp );
        return $projects_id_tick;

上面代码的输出如下:

Array
(
    [125434] => Array
        (
            [base_id] => 1306755
        )

    [127354] => Array
        (
            [base_id] => 1287834
        )

)

如果从远程获取新的id,则id仅在数组的最后位置写入.

解决方法

你有几个选择:

> array_push()
> array_merge( $curr_array,$new_array )
> $array [] = $newValue

祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读