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