Hoi

25-09-2015 00:00:00
04-10-2015 00:00:00
05-10-2015 00:00:00
08-10-2015 00:00:00

Waarom is de eerste datum niet kleiner dan de volgende 3?


if ($date_0 < $date_1_2) {
	$voorkeur_1 = $_POST['voorkeur1']. " ".$_POST['vkeur1o']." ".$_POST['vkeur1m'];
} else {
	$error .= "Let op 1ste voorkeursdatum. Graag 4 dagen na AED aanhouden<BR>";
}
if ($date_0 < $date_2_2) {
	$voorkeur_2 = $_POST['voorkeur2']. " ".$_POST['vkeur2o']." ".$_POST['vkeur2m'];
} else {
	$error .= "Let op 2de voorkeursdatum. Graag 4 dagen na AED aanhouden<BR>";
}
if ($date_0 < $date_3_2) {
	$voorkeur_3 = $_POST['voorkeur3']. " ".$_POST['vkeur3o']." ".$_POST['vkeur3m'];
} else {
	$error .= "Let op 3de voorkeursdatum. Graag 4 dagen na AED aanhouden<BR>";
}
Net zoals bij getallen is het "gewicht" van een cijfer in een getal wat verder naar links staat zwaarder dan een cijfer wat verder naar rechts staat.

Als je in strings hetzelfde (sorteer)effect wilt bereiken moet je de string die een hogere prioriteit heeft (een zwaarder gewicht heeft) verder naar links in de string zetten. een jaar "weegt zwaarder" dan een maand (immers, een jaar is een veelvoud van maanden), en een maand "weegt zwaarder" dan een dag, omdat een maand uit meerdere dagen is opgebouwd.

PHP is niet strict in het gebruik van types (en voert ook automatisch typecasts uit), maar om het belang van het type te illusteren moet je de volgende queries maar eens uitvoeren in MySQL of een if-statement bakken in een taal die wel strict met types omgaat:

mysql> SELECT '5' > '14';
+------------+
| '5' > '14' |
+------------+
|          1 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT 5 > 14;
+--------+
| 5 > 14 |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

Jammer dat je alleen maar in een werkend antwoord geinteresseerd lijkt te zijn, en niet in het waarom. Ik denk ook dat het daarom niet de laatste keer is dat je tegen dit probleem aanloopt. En dat je dan mogelijk weer niet begrijpt (of wilt begrijpen) waarom dit zo is.
Edgar de Groot op 03/10/2015 20:36:26

Is hij dan zo slim of... Nou ja, laat ik die zin maar niet afmaken.

Die zin zou ik inderdaad niet afmaken ... ik zou zo'n zin überhaupt niet eens plaatsen. We proberen je te helpen. Nog een keer zo'n opmerking en ik denk dat er nog maar weinig mensen bereid zullen zijn om je ergens mee te helpen.

Reageren