Wenn man so drüber nachdenkt, dann

sollte man POST einmal abfragen und nicht zwischendurch auf globalen Variablen rumschmirgeln. Das müssen wir jetzt doch nochmal anders.

Show Plain Text
  1. function checkboxFilter($value, $filter) {
  2.   $out = '<input type="checkbox" value="' . $value . '" name="filter[]"';
  3.   if (in_array($value, $filter)) {
  4.     $out .= ' checked';
  5.   }
  6.   $out .= '>';
  7.   return $out;
  8. }
  9.  
  10. $filter = [];
  11. if (isset($_POST['filter']) && is_array($_POST['filter'])) {
  12.   $filter = $_POST['filter'];
  13. }
  14.  
  15. echo checkboxFilter('filtervalueA', $filter);
  16. echo checkboxFilter('filtervalueB', $filter);


So ist besser!

Gruß
Schlaefer