Hi Sunset,
I see a few errors in your code that is causing problems for you.
1) $one variable: this variable in your code is only setting the first array within the $assoc array (Sam Jackson). I think you can safely remove this $one so you can treat the assoc array more dynamically.
2) Using $ in a string: I'm not 100% sure if this would cause a problem, but I'm concerned enough to mention this here. Because you want a string value dollar sign, this might cause problems because php uses $ as variable names. just use the single quote around these values.
3) Setting $value in a foreach: the foreach function works wonderful for reading valuables, but you have to be careful if you want to use foreach to set values. Instead of using $value = '$2000', you'll have to (1) say which value in the $value array you are changing (eg. $value['Q2'] = '$2000'😉, (2) this would change ALL 'Q2' values in the array (eg. Sam, Jim, and John's Q2 would change), (3) if you do want to change the value, make sure you specify the REAL array (see example below).
Here's a rewritten example of your example that does work better; however, you will need to change things to get the results you want.
$assoc = array(
array("Sales Person" => "Sam Jackson", "Q1" => '$3255', "Q2" => '$3167', "Q3" => '$3245', "Q4" => '$3943'),
array("Sales Person" => "Jim Brown", "Q1" => '$2580', "Q2" => '$2677', "Q3" => '$3225', "Q4" => '$3410'),
array("Sales Person" => "John Han***", "Q1" => '$9367', "Q2" => '$9875', "Q3" => '$9544', "Q4" => '$10255')
);
foreach ($assoc as $key => $value)
{
$value['Q2'] = '$2000';
$assoc[$key]['Q2'] = '$2000';
}
echo "" . $assoc[0]['Sales Person'] ." - ". $assoc[0]['Q2'];