- json_decode: documentation ( source)
- strftime: documentation ( source)
- explode: documentation ( source)
<?php
$standardPrice = 77.88;
$specialPrices = json_decode('{"54.44":"20130515163000-20130515170000","4.88":"20130515170000-20130515190000","5.00":"20130515200000-20130515200045"}');
$currentPrice = function($standardPrice, $specialPrices) {
if (empty($specialPrices)) {
return $standardPrice;
}
$now = strftime('%Y%m%d%H%M%S');
foreach ($specialPrices as $price => $interval) {
list($min, $max) = explode('-', $interval);
if ($now >= $min && $now <= $max ) {
return $price;
}
}
return $standardPrice;
};
echo $currentPrice($standardPrice, $specialPrices);