<?php
$a = Array("2011-07-29" => 39, "2011-07-30"=> 39, "2011-07-31"=> 39, "2011-08-01"=> 40);
$sa = array();
foreach($a as $k => $v){
$sa[] = "[new Date(".preg_replace('/-/',', ',$k)."),$v]";
}
$s = implode(', ',$sa);
var_dump( $s );
?>
Редактировать: Улучшено, чтобы соответствовать лучшим возможностям ответа @ Альваро (практически идентично - и ответили первым), но с более простым построением строк (я считаю sprintf ненужным слоем абстракции)
<?php
$input = array(
'2011-07-29' => 39,
'2011-07-30' => 39,
'2011-07-31' => 39,
'2011-08-01' => 40,
);
$aux = array();
foreach($input as $date => $number){
$aux[] = "[new Date(" . str_replace('-',', ',$date) . "),$number]";
}
$output = implode(', ', $aux);
var_dump($input, $output);
?>