Create an associative array in php with dynamic key and value

You are way over-complicating this problem. This can be done simply, with fewer loops.

First, you only need to run the SQL once. Second, build the array in the 1st loop.

$sql = mysql_query('SELECT * FROM monthly_salary');

$associativeArray = array();
while($row = mysql_fetch_array($sql)){
   // Put the values into the array, no other variables needed
   $associativeArray[$row['month']] = $row['salary'];
}

foreach($associativeArray as $k => $id){
    echo $k."=>".$id;
}

Why don't you just do:

$associativeArray = array();
while($row = mysql_fetch_array($sql)){
    $associativeArray[$row['month']] = $row['salary'];
}