<?php
$daysTest = array(
'0-Thurs,Fri,Sat' => array('Mon' => false, 'Tues' => true,'Wed' => false, 'Thurs' => true,'Fri' => true, 'Sat' => true,'Sun' => false)
,'1-Thurs,Fri,Sat' => array('Mon' => true, 'Tues' => true,'Wed' => false, 'Thurs' => true,'Fri' => true, 'Sat' => true,'Sun' => false)
,'2-Mon,Tues,Wed,Thurs,Fri,Sat,Sun' => array('Mon' => true, 'Tues' => true,'Wed' => true, 'Thurs' => true,'Fri' => true, 'Sat' => true,'Sun' => false)
,'3-' => array('Mon' => false, 'Tues' => true,'Wed' => false, 'Thurs' => true,'Fri' => false, 'Sat' => true,'Sun' => true)
);
$minLength = 3;
foreach ($daysTest as $target => $days) {
$result = array();
$stack = array();
foreach ($days as $key => $match) {
if ( $match ) {
$stack[] = $key;
}
else {
if ( $minLength <= count($stack)) {
$result += $stack;
}
$stack = array();
}
}
if ( $minLength <= count($stack)) {
$result += $stack;
}
echo 'Result:',implode(',',$result),"\n";
echo 'Target:',$target,"\n";
}