Sowieso zinloos om er 1 in te zetten als je zeker weet dat dat er reeds in zit.
<?php
if($generalSettings['lights'] != 1) {
$generalSettings = 0;
}
if($generalSettings['tones'] != 1) {
$generalSettings['tones'] = 0;
}
?>
Sowieso zinloos om er 1 in te zetten als je zeker weet dat dat er reeds in zit.
Ik ben niet zeker dat 1 in alle velden zit.
Het zijn selectievakjes met value 1, maar als die niet aangevinkt worden, dan hebben die toch geen waarde?
of hoe zit dat dan?
Ik bedoel dat dit niet hoeft:
<?php
if($generalSettings['lights'] == 1) {
$generalSettings['lights'] = 1;
}
?>
Want nu zit er al 1 in.
Dus dit kan je overslaan en alleen indien er geen 1 in zit op 0 zetten.
Je kan het met een array doen met de keys van $generalSettings en dan in een for-loop vergelijken:
<?php
$generalSettings = array(
"lights" => $_POST['generalLights'], // Let op! Je had = staan, maar dat moet => zijn.
"tones" => $_POST['generalTones']
);
Ok, en kan ik die foreach functie ook in een andere foreach functie steken, zodat ik geen zeven aparte foreach functies moet schrijven? Zo ja, hoe ongeveer?
Dat zou je eventueel kunnen doen, maar waarom zou je 7 van deze variabelen hebben? Je zou er ook een functie van kunnen maken met een by reference argument. Whatever floats your boat.
Omdat het een formulier betreft ($_POST): zou dit geen onderdeel moeten zijn van de validatie van (gegevens uit) het formulier? Of is dat juist wat je hier aan het doen bent?
Mogelijk kun je dit probleem dus op een andere plaats, en op een elegantere manier, oplossen.