как добавлять данные в существующий массив без перезаписи всего массива

Это мой код, в этом коде я читаю существующий массив через функцию 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 ) ) 

если новый идентификатор извлекается из удаленного, тогда id записывается только в последнем месте массива.

У вас есть несколько вариантов:

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

Удачи!

после возвращения другого значения, использование array_merge исправит это.

пример:

 $result_array=array_merge($arr1,$arr2); 

Если вы хотите добавить что-то в массив PHP, вы можете использовать $myArray[] = "new value"