cómo anexar datos en una matriz existente sin sobreescribir una matriz completa

Este es mi código, en este código estoy leyendo una matriz existente a través de una función read_from_json, que convierte json en matriz , ahora a partir de datos remotos obtengo nuevos datos, así que tengo que agregar esos datos en mi matriz existente sin sobreescribir toda la matriz. Al igual que si obtengo una identificación, busca utilizando la función in_array, si no se encuentra, le envía un mensaje y luego agrega solo una entrada específica a la matriz existente. Existe un problema debido a la iteración de foreach, por lo que sobrescribe todas las matrices, ¿qué más puedo hacer? Por favor, eche un vistazo a este código:

$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 'do post message function for ' . $tick_id . ' ' . $base_id['base_id'] . '
'; $i = count( $read_data ); while ( $i >= count( $base_id['base_id'] ) ) { echo 'post message start' .'
'; $i++; break; $projects_id_tickcamp[$tick_id]['message_id'] = 1; } //echo 'posted message id of ' . $base_id['basecamp_id'] . '
'; } else { echo 'do nothing' . '
'; //return false; } } //echo 'write data if id similar' . '
'; $this->write_to_json( 'xyz.json', $projects_id_tickcamp ); return $projects_id_tick;

La salida del código anterior se ve así:

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

si hay una nueva búsqueda de id desde el control remoto, entonces id solo escribe en el último lugar de la matriz.

Tienes pocas opciones:

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

¡Buena suerte!

después de devolver otro valor, usar array_merge lo arreglará.

ejemplo:

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

Si desea agregar algo a una matriz de PHP, puede usar $myArray[] = "new value"