Today, I was writing a script in PHP to be used in the command line when I came across unexpected behavior (at least on my part).
The script should receive three arguments, the last of them a list containing one or more numeric codes.
Trying to validate this last argument was getting a different result than imagined.
See the code snippet that I was using:
// test.php if (php_sapi_name() == 'cli') { $di = isset($argv[1]) ? $argv[1] : date('Y-m-d'); // Initial Date $df = isset($argv[2]) ? $argv[2] : date('Y-m-d'); // Final Date $prods = isset($argv[3]) ? explode(',', $argv[3]) : array(); // Code List ##### Validating // Initial Date if ($di != date('Y-m-d', strtotime($di))) { echo "\n"; echo "ERROR! Invalid INITIAL DATE!\n"; exit; } // Final Date if ($df != date('Y-m-d', strtotime($df))) { echo "\n"; echo "ERRO! Invalid FINAL DATE!\n"; exit; } // Codes if (count($prods) > 0) { foreach ($prods as $prod) { if ($prod != (int)$prod) { echo "\n"; echo "ERROR! The CODE " . $prod . " is invalid!\n" ; exit; } } } echo "DONE!"; }