$d1 = new \DateTime("2018-04-26 03:00:00"); // Время события
$d2 = new \DateTime(); // Текущее время
$diff = $d1->diff($d2); // Разница
print_r($diff) ; // DateInterval Object ( [y] => 0 [m] => 0 [d] => 0 [h] => 1 [i] => 39 [s] => 21 [f] => -0.909875 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 1 [days] => 0 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
$str
должна быть корректной URL-кодированной строкой. $values = array('a', 'a', 'b', 'c', 'c');
$result = array_keys(array_filter(array_count_values($values), function($v){
return $v > 1;
}));
print_r($values);
print_r($result);
Array
(
[0] => a
[1] => a
[2] => b
[3] => c
[4] => c
)
Array
(
[0] => a
[1] => c
)
Устанавливает значение заданной настройки конфигурации. Настройка будет хранить установленное значение пока выполняется скрипт. После завершения работы скрипта значение настройки вернется к исходному.
$time = '12:45:00';
$start = '12:46:00';
$end = '13:45:00';
$time = DateTime::createFromFormat('H:i:s', $time);
$start = DateTime::createFromFormat('H:i:s', $start);
$end = DateTime::createFromFormat('H:i:s', $end);
if ($time > $start && $time < $end)
{
echo 'here';
}
<?php
$a = 1; /* глобальная область видимости */
function test()
{
echo $a; /* ссылка на переменную в локальной области видимости */
}
test();
?>
SELECT SUM(`visits`) AS `visits` FROM `statistics` WHERE `date` BETWEEN UNIX_TIMESTAMP(CONVERT_TZ(FROM_UNIXTIME('1510693200'), @@global.time_zone, @@session.time_zone)) AND UNIX_TIMESTAMP(CONVERT_TZ(FROM_UNIXTIME('1510779599'), @@global.time_zone, @@session.time_zone))
SELECT SUM(`visits`) AS `visits` FROM `statistics` HAVING UNIX_TIMESTAMP(CONVERT_TZ(FROM_UNIXTIME(`date`), @@session.time_zone, @@global.time_zone)) BETWEEN '1510693200' AND '1510779599'
$string = 'banana apple mango';
$arr = explode(' ', $string);
$result = array_map(function($v){
return '*' . $v;
}, $arr);
var_dump($result);
/*
array(3) {
[0]=>
string(7) "*banana"
[1]=>
string(6) "*apple"
[2]=>
string(6) "*mango"
}
*/
Переменная$_SERVER['HTTPS']
принимает непустое значение, если запрос был произведен через протокол HTTPS.
Замечание: Обратите внимание, что при использовании ISAPI с IIS значение будет off, если запрос не был произведен через протокол HTTPS.
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
// HTTPS
}
function number_format_short($n, $precision = 1)
{
if ($n < 900) {
// 0 - 900
$n_format = number_format($n, $precision);
$suffix = '';
} else
if ($n < 900000) {
// 0.9k-850k
$n_format = number_format($n / 1000, $precision);
$suffix = 'K';
} else
if ($n < 900000000) {
// 0.9m-850m
$n_format = number_format($n / 1000000, $precision);
$suffix = 'M';
} else
if ($n < 900000000000) {
// 0.9b-850b
$n_format = number_format($n / 1000000000, $precision);
$suffix = 'B';
} else {
// 0.9t+
$n_format = number_format($n / 1000000000000, $precision);
$suffix = 'T';
}
// Remove unecessary zeroes after decimal. "1.0" -> "1"; "1.00" -> "1"
// Intentionally does not affect partials, eg "1.50" -> "1.50"
if ($precision > 0) {
$dotzero = '.' . str_repeat('0', $precision);
$n_format = str_replace($dotzero, '', $n_format);
}
return $n_format . $suffix;
}
number_format_short(1000); // 1K
number_format_short(1110); // 1.1K
number_format_short(10000); // 10K
number_format_short(1000000); // 1M
...
а совершение каких-либо действий (в больших масштабах) через него карается баном (будучи параноиком, я в этом просто уверен).