// Получение даты первого дня текущего месяца
echo date('Y-m-01') . "<br/>";
// Получение даты последнего дня текущего месяца
echo date('Y-m-t') . "<br/>";
// Получение даты первого дня предыдущего месяца
echo date("Y-m-01", strtotime("-1 month")) . "<br/>";
// Получение даты последнего дня предыдущего месяца
echo date("Y-m-t", strtotime("-1 month")) . "<br/>";
// Получение даты первого дня следующего месяца
echo date("Y-m-01", strtotime("+1 month")) . "<br/>";
// Получение даты последнего дня следующего месяца
echo date("Y-m-t", strtotime("+1 month"));
Обработка даты пришедшей из формы из поля с типом «date»:
if(!$_REQUEST['date']) $data['error'][0][]='Введите дату!';
else {
$date_array=explode('-',$_REQUEST['date']);
if(!checkdate($date_array[1], $date_array[2], $date_array[0])) $data['error'][0][]='Введите правильную дату';
}
// использование многоточия в параметрах функций // переменное число аргументов class A { public function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } } echo (new A())->sum(1, 2, 3, 4); // "распаковка" параметров из массива по параметрам
// Убираем лишние поля по ключам, оставляем только нижеперечисленные $source_array = [ 'one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, ]; $result_array = array_intersect_key($source_array, array_flip(['two', 'three'])); // $result_array = [ // 'two' => 2, // 'three' => 3, // ];
Статические методы внутри трейта
<?php trait A { public static function methodA() { return 1; } } class B{ use A; } echo A::methodA(); // работает echo B::methodA(); // и так тоже работает echo (new B())::methodA(); // и так тоже работает
Добавить комментарий