= $n) || ($w_index >= $n) ) { return FALSE; } if ( ($put + $w_array[$w_index]) > $w_target ) { return FALSE; } if ( ($put + $w_array[$w_index]) == $w_target ) { return TRUE; } $put += $w_array[$w_index]; $ret = FALSE; for ( $i=$w_index+1; $i<$n; $i++ ) { $ret = put_weight($put, $i, $w_count+1); if ( $ret === TRUE ) { break; } } return $ret; }