如何在现有数组中追加数据而不覆盖整个数组[关闭]

2024-02-02

这是我的代码,在这段代码中,我通过函数 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 仅写入数组的最后一个位置。


您有几个选择:

  • 数组推() http://php.net/manual/en/function.array-push.php
  • array_merge( $curr_array, $new_array ) http://php.net/manual/en/function.array-merge.php
  • $array[] = $newValue

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在现有数组中追加数据而不覆盖整个数组[关闭] 的相关文章

随机推荐