PHP Frage, irgendwie check ichs grad ned… in_array($string, $array)

Habe folgenden Aufbau

Show Plain Text
  1. $filter = $_POST['filter'];
  2.  
  3. (WP_Query hier funktioniert schon mit dem $filter der verschiedene Checkboxes in einem Array zusammenfasst und danach die Datenbank abfragt)
  4.  
  5. function setcheckbox($string){
  6.   if($filter == NULL){
  7.     echo ' checked';
  8.   }
  9.   elseif(in_array($string, $filter)){
  10.     echo ' checked';
  11.   };
  12. };
  13.  
  14. echo '<input type="checkbox" value="filtervalue" name="filter[]"';
  15. setcheckbox('filtervalue');
  16. echo '>';


Wenn ich die Funktion setcheckbox(); mit dem String "filtervalue" durchlaufen lasse, gibt es mit immer wieder echo ' checked' aus. Obwohl vor dem Absenden des Formulars diese Checkbox deaktiviert wurde und nachweislich der Wert "filtervalue" nicht mehr im Array war.

Ich blicks grad echt nicht!