Hướng dẫn how to check date is null in php - làm thế nào để kiểm tra ngày là null trong php

Câu trả lời hiện đang được chấp nhận là sai.

Ngày "0000-00-00" được phân tích cú pháp là "-0001-11-30". Điều này được giải thích trong phần định dạng ngày của hướng dẫn sử dụng PHP:

Có thể vượt quá và làm nền tảng cho định dạng DD và DD. Ngày 0 có nghĩa là ngày cuối cùng của tháng trước, trong khi tràn vào tháng tới. Điều này làm cho "2008-08-00" tương đương với "2008-07-31" và "2008-06-31" tương đương với "2008-07-01" (tháng 6 chỉ có 30 ngày).

Lưu ý rằng kể từ Php 5.1.0, phạm vi ngày được giới hạn ở 0-31 như được chỉ ra bởi biểu thức thông thường ở trên. Do đó, "2008-06-32" không phải là một chuỗi ngày hợp lệ, ví dụ.

Cũng có thể trải qua các định dạng MM và MM với giá trị 0. Giá trị tháng là 0 có nghĩa là tháng 12 của năm trước. Ví dụ như "2008-00-22" tương đương với "2007-12-22".

Nếu bạn kết hợp hai sự thật trước và dòng chảy cả ngày và tháng, điều sau đây sẽ xảy ra: "2008-00-00" Đầu tiên được chuyển đổi thành "2007-12-00" sau đó được chuyển đổi thành "2007-11-30" . Điều này cũng xảy ra với chuỗi "0000-00-00", được chuyển thành "-0001-11-30" (năm -1 trong lịch ISO 8601, là 2 trước Công nguyên trong lịch Gregorian Progorian).

Nếu bạn đang sử dụng phiên bản PHP cũ hơn hoặc hệ điều hành 32 bit, Strtotime ("0000-00-00") sẽ trở lại sai, nhưng không phải vì nó nhận ra nó không được đặt 30th, -0001) nằm ngoài những ngày mà nó có thể xử lý. Gọi chức năng tương tự trên hệ thống 64 bit với một verison mới hơn của PHP sẽ trả về số nguyên giống với -62169984000 (phương sai nhỏ tùy thuộc vào múi giờ của hệ thống của bạn). Điều này là do hệ thống đó có thể xử lý ngày được cung cấp và trả về số giây trong khoảng thời gian từ ngày 1 tháng 1 năm 1970 đến ngày 30 tháng 11, -0001.

Vì vậy, sử dụng strtotime () trên chuỗi "0000-00-00" để xác định xem nó có được đặt hay không sử dụng chức năng không đúng và không trả về kết quả mong muốn. Vì chuỗi "0000-00-00" đang được coi là giá trị không đặt mặc định trong câu hỏi này, một so sánh chuỗi đơn giản sẽ đủ:

while($row = mysql_fetch_array($result)){
    if($row['date'] != '0000-00-00'){ // string comparison to see if set or not
        echo date('d-m-Y', strtotime($row['date']));
    }
}

Lưu ý rằng trên các hệ thống 32 bit và các phiên bản PHP cũ hơn, điều này sẽ chỉ hoạt động cho ngày từ ngày 13 tháng 12 năm 1901 đến ngày 19 tháng 1 năm 2038. Ngày bên ngoài đó sẽ khiến Strtotime ($ Row ['Date']) trả về Sai, ngày đó ) Hàm sẽ diễn giải là 0 và trả về "01-01-1970" vì đó là 0 giây kể từ ngày 1 tháng 1 năm 1970.

Imgroot:

Đây là cách bạn gặp rắc rối:

$date = 2017-08-10 00:06:10;

Không có những điều như vậy. Dòng mã đó sẽ kích hoạt lỗi cú pháp. Không có loại dữ liệu nội tại cho một ngày trong PHP. Những gì bạn có thể làm là sử dụng bất kỳ định dạng chuỗi ngày/thời gian nào khác nhau. Đề xuất của tôi là bạn luôn sử dụng một định dạng cũng mã hóa múi giờ, làm nền tảng để hỗ trợ thời gian địa phương cho khách truy cập của bạn. Ngoài ra, thực tiễn tốt nhất cho hầu hết các máy chủ là chúng được thiết lập bằng UTC làm thời gian, vì vậy bạn cần có khả năng điều chỉnh bất kỳ giá trị DateTime nào bạn nhận được hoặc đầu ra.

Có lớp DateTime có chức năng cao mà bạn có thể sử dụng và tôi rất khuyến khích. Nó rất có khả năng chấp nhận một chuỗi và thiết lập đối tượng. Tôi đã lấy mã này theo nghĩa đen ra khỏi hướng dẫn:

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');

Nếu có một số vấn đề với đầu vào của bạn, nó sẽ ném một ngoại lệ. Bạn cũng có thể sử dụng DateTime thông qua giao diện thủ tục của nó nếu bạn thích.

(Php 4> = 4.0.4, Php 5, Php 7, Php 8)

IS_NULL - tìm thấy một biến là null Finds whether a variable is null

Sự mô tả

is_null (hỗn hợp $value): bool(mixed $value): bool

Thông số

value

Biến được đánh giá.

Trả về giá trị

Trả về true nếu value là null, false khác.true if value is null, false otherwise.

Ví dụ

Ví dụ #1 is_null () ví dụis_null() example

$date = 2017-08-10 00:06:10;
0

$date = 2017-08-10 00:06:10;
1

$date = 2017-08-10 00:06:10;
2

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)

Xem thêm

  • Loại nullnull type
  • ISSET () - Xác định xem một biến được khai báo và khác với NULL
  • is_bool () - Tìm hiểu xem một biến có phải là boolean
  • is_numeric () - Tìm một biến là số hay chuỗi số
  • is_float () - Tìm liệu loại biến có nổi không
  • is_int () - Tìm loại biến có số nguyên không
  • is_String () - Tìm loại biến là chuỗi
  • is_Object () - Tìm xem một biến có phải là một đối tượng
  • is_array () - Tìm xem một biến có phải là một mảng không

Malfist ¶

14 năm trước

$date = 2017-08-10 00:06:10;
4

$date = 2017-08-10 00:06:10;
5

$date = 2017-08-10 00:06:10;
6

$date = 2017-08-10 00:06:10;
7

$date = 2017-08-10 00:06:10;
8

$date = 2017-08-10 00:06:10;
9

George tại Fauxpanels Dot Com ¶

13 năm trước

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
0

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
1

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
2

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
3

$date = 2017-08-10 00:06:10;
9

Liên hệ với DOT 01834E2C tại Renegade334 dot me dot uk ¶

7 năm trước

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
5

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
6

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
7

$date = 2017-08-10 00:06:10;
9

Ahamilton9 ¶

6 tháng trước

$dateStr = '2017-08-10 00:06:10';

try {
    $date = new DateTime($dateStr);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
9

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
0

$date = 2017-08-10 00:06:10;
9

Ai Dot Unstmann tại COMBOUND DOT DE ¶

14 năm trước

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
2

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
3

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
4

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
5

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
6

George tại Fauxpanels Dot Com ¶

13 năm trước

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
7

Liên hệ với DOT 01834E2C tại Renegade334 dot me dot uk ¶

14 năm trước

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
8

Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)
9

null0

null1

null2

$date = 2017-08-10 00:06:10;
9

George tại Fauxpanels Dot Com ¶

13 năm trước

null4

null5

null6

null7

null8

$date = 2017-08-10 00:06:10;
9

Liên hệ với DOT 01834E2C tại Renegade334 dot me dot uk ¶

7 năm trước

$value0

$value1

$value2

$value3

$date = 2017-08-10 00:06:10;
9

Làm thế nào có thể kiểm tra nếu điều kiện tính theo ngày trong PHP?

Chúng ta có thể phân tích các ngày bằng toán tử so sánh đơn giản nếu các ngày đã cho ở định dạng tương tự. $ date2) echo "$ date1 là mới nhất so với ngày 2"; other echo "$ date1 lớn hơn $ ngày2"; ?>if ($date1 > $date2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>

NULL hay PHP trống?

NULL và trống - Hướng dẫn PHP NULL là một thuật ngữ lạ mắt cho không có gì, vì không có giá trị.Nó không phải là không, nó không phải là một chuỗi trống, nó thực sự thiếu giá trị.Ý tôi là, nếu chúng ta có thể đặt một giá trị thành một biến, thì chúng ta cũng phải có một số cách để nói về thực tế rằng biến có thể không có giá trị nào cả.Null is a fancy term for nothing, for not having a value. It's not zero, it's not an empty string, it's the actual lack of a value. I mean, if we can set a value into a variable, then we also have to have some way to talk about the fact that variable might not have a value at all.

Làm thế nào tôi có thể kiểm tra xem ngày có ít hơn hôm nay trong PHP không?

PHP $ date_now = Time ();// Thời gian hiện tại $ date_convert = strtotime ('2022-08-01');if ($ date_now> $ date_convert) {echo 'lớn hơn';} khác {echo 'ít hơn';}?>if ($date_now > $date_convert) { echo 'greater than'; } else { echo 'Less than'; } ?>

Làm thế nào trường kiểm tra trống trong PHP?

Hàm php trống () hàm trống () kiểm tra xem một biến có trống hay không.Hàm này trả về sai nếu biến tồn tại và không trống, nếu không nó sẽ trả về đúng.Các giá trị sau đánh giá là trống: 0.empty() Function The empty() function checks whether a variable is empty or not. This function returns false if the variable exists and is not empty, otherwise it returns true. The following values evaluates to empty: 0.