How can one avoid overwriting existing values when adding new values to a multidimensional array in PHP?

When adding new values to a multidimensional array in PHP, one can avoid overwriting existing values by first checking if the key already exists in the array. If the key exists, you can choose to either skip adding the new value or update the existing value. This can be achieved by using conditional statements to check for the existence of the key before adding the new value.

// Sample multidimensional array
$multiArray = array(
    'key1' => array(
        'subkey1' => 'value1',
        'subkey2' => 'value2'
    ),
    'key2' => array(
        'subkey1' => 'value3',
        'subkey2' => 'value4'
    )
);

$newKey = 'key1';
$newSubkey = 'subkey3';
$newValue = 'value5';

// Check if the key exists before adding new value
if(array_key_exists($newKey, $multiArray)){
    // Check if the subkey exists before adding new value
    if(!array_key_exists($newSubkey, $multiArray[$newKey])){
        $multiArray[$newKey][$newSubkey] = $newValue;
    } else {
        // Handle existing subkey value
        echo 'Subkey already exists';
    }
} else {
    // Handle existing key value
    echo 'Key does not exist';
}