$mPost = array( 'action' => 'send', 'user' => 'Horst', 'a' => 'On', 'c' => 'On', 'foo' => 'bar', 'baz' => '', ); $defaults = array( 'a' => '', 'b' => '', 'c' => '', ); $data = array_merge( $defaults, $mPost ); $bin = ''; foreach( $defaults as $key => $val ){ $bin .= sprintf( '%b', !!$data[$key] ); //$bin .= ! empty( $data[$key] ) ? '1' : '0'; } $dec = bindec( $bin ); var_dump( $bin ); var_dump( $dec ); switch( $bin ){ case '000': //nichts ausgewaehlt break; case '100': // nur checkbox 'a' wurde ausgewählt break; case '101': // checkbox 'a' wurde ausgewaehlt, checkbox 'b' jedoch NICHT break; default: // alle anderen Faelle break; }