Это мой код, в этом коде я читаю существующий массив через функцию read_from_json, которая преобразует JSON в массив, теперь из удаленных данных я получаю новые данные, поэтому Я должен добавить эти данные в свой существующий массив, не перезаписывая весь массив. Например, если я получаю идентификатор, он выполняет поиск с использованием функции 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
)
)
если новый идентификатор извлекается с удаленного устройства, тогда идентификатор записывается только в последнее место массива.