Ik zat net enorm te klote met een variabele die een getal kan zijn (van 0 tot oneindig) of ook geen waarde kan bevatten.
Ik wou controleren of de variabele een waarde bevat, maar dat gaat fout want php ziet 0 als geen waarde. Om uiteindelijk de waarde te weten te komen heb ik 3 if statements nodig....:
Als je hiernaar kijkt klopt php ook niet, want: bij die eerste if doe ik een check is_numeric(), maar waarom geeft php daarop wel true als hij eigenlijk vind dat $id geen waarde is? (Daarmee bedoel ik, hij zegt bij isset($id) => false).
Php vind dus wel dat $id = 0 een waarde is want is_numeric($id) geeft true, maar ook weer niet want isset($id) geeft false.
Doe ik nu erg moeilijk of is dit de enigste manier met php ?
Ik wou controleren of de variabele een waarde bevat, maar dat gaat fout want php ziet 0 als geen waarde. Om uiteindelijk de waarde te weten te komen heb ik 3 if statements nodig....:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| if ($id == 0 && is_numeric($id)) { // waarde is 0 } if (!isset($id)) { // geen waarde } if (!empty($id) && is_numeric($id)) { // andere waarde } |
Als je hiernaar kijkt klopt php ook niet, want: bij die eerste if doe ik een check is_numeric(), maar waarom geeft php daarop wel true als hij eigenlijk vind dat $id geen waarde is? (Daarmee bedoel ik, hij zegt bij isset($id) => false).
Php vind dus wel dat $id = 0 een waarde is want is_numeric($id) geeft true, maar ook weer niet want isset($id) geeft false.
Doe ik nu erg moeilijk of is dit de enigste manier met php ?