Magari è molto più banale utilizzando strtotime(), io ho pensato ad una cosa del genere
Codice PHP:
<?php
$mese 
"2006-10-01";
$arr explode('-'$mese);

$data strtotime($mese);

for(
$i=1$i<=date('t',$data); $i++) {

    
$giorno $arr[0] . "-" $arr[1] . "-" $i;
    
$timestamp strtotime($giorno);
    
    if(
date('w'$timestamp) == 3$mercoledi[] = $i;
}

print_r($mercoledi);
?>