Giá trị mặc định của Php nếu null
Tôi thích giải pháp thứ hai. Nhược điểm duy nhất là giao diện không hiển thị rõ ràng giá trị nào được chấp nhận Show Câu trả lời hay nhấtVới PHP7. 1 nó thực sự khá đơn giản
hoặc khi bạn muốn nó mặc định là null khi gọi nó là $object->setValue();
Giải pháp liên quanCơ sở dữ liệu – SQL. chuỗi rỗng so với giá trị NULLTôi sẽ nói rằng Tôi nghĩ bạn đúng khi nói rằng "" không phải là cách chính xác để nói "Tôi không có giá trị cho cột này". "" là một giá trị Một ví dụ về nơi "" có thể là một giá trị hợp lệ, tách biệt với Java – Kiểm tra các tham số được chú thích bằng @Nonnull để tìm nullNếu bạn không tin tưởng FindBug, đó có thể là một tùy chọn để sử dụng xác nhận. Bằng cách này, bạn tránh được các sự cố được đề cập bởi Người dùng MSalters nhưng vẫn kiểm tra. Tất nhiên, cách tiếp cận này có thể không áp dụng được nếu cách tiếp cận thất bại nhanh như vậy là không khả thi, tôi. e. bạn phải nắm bắt bất kỳ ngoại lệ nào Và để trả lời thêm câu hỏi liệu đó có phải là thông lệ xấu hay không. Vâng, điều này có thể tranh cãi nhưng tôi sẽ không nghĩ như vậy. Tôi coi chú thích FindBug này như một thông số kỹ thuật nhẹ theo nguyên tắc thiết kế theo hợp đồng Trong thiết kế theo hợp đồng, bạn thiết lập một hợp đồng giữa một phương thức và người gọi nó. Hợp đồng bao gồm các điều kiện tiên quyết mà người gọi đồng ý thực hiện khi gọi phương thức và một điều kiện sau sẽ được phương thức đáp ứng sau khi thực hiện nếu điều kiện tiên quyết của nó được đáp ứng Một trong những lợi ích của phương pháp phát triển này là bạn có thể tránh được cái gọi là phong cách lập trình phòng thủ (trong đó bạn kiểm tra tất cả các giá trị tham số không hợp lệ một cách rõ ràng, v.v. ). Thay vào đó, bạn có thể dựa vào hợp đồng và tránh kiểm tra dư thừa để tăng hiệu suất và khả năng đọc Hợp đồng có thể được sử dụng để kiểm tra xác nhận thời gian chạy tuân theo nguyên tắc đầu tiên không thành công đã đề cập ở trên, trong đó bạn muốn chương trình của mình không thành công nếu hợp đồng bị phá vỡ, giúp bạn có manh mối để xác định nguồn gốc của lỗi. (Điều kiện tiên quyết không thành công có nghĩa là người gọi đã làm sai điều gì đó, điều kiện sau thất bại biểu thị lỗi triển khai của phương thức đã cho) Hơn nữa, các hợp đồng có thể được sử dụng để phân tích tĩnh, cố gắng đưa ra kết luận về mã nguồn mà không thực sự chạy nó. Chú thích @nonnull có thể được coi là điều kiện tiên quyết được sử dụng để phân tích tĩnh bằng công cụ FindBugs. Nếu bạn thích một cách tiếp cận như kiểm tra xác nhận thời gian chạy, tôi. e. chiến lược đầu tiên không thành công, bạn nên cân nhắc sử dụng các câu lệnh khẳng định dưới dạng Java tích hợp. Hoặc có thể để thích ứng với chiến lược đặc tả phức tạp hơn bằng cách sử dụng ngôn ngữ đặc tả giao diện hành vi, chẳng hạn như Ngôn ngữ mô hình hóa Java (JML) JML là một phần mở rộng của Java trong đó đặc tả được nhúng trong các Nhận xét Java đặc biệt. Một lợi thế của phương pháp này là bạn có thể sử dụng đặc tả phức tạp, thậm chí sử dụng phương pháp phát triển trong đó bạn chỉ dựa vào đặc tả chứ không phải chi tiết triển khai và sử dụng các công cụ khác nhau sử dụng đặc tả, chẳng hạn như các công cụ kiểm tra xác nhận thời gian chạy đã đề cập, Nếu bạn chia sẻ quan điểm của tôi về việc @nonnull là một hợp đồng (nhẹ), thông thường sẽ không thêm các kiểm tra bổ sung vì ý tưởng ban đầu đằng sau nguyên tắc này là để tránh lập trình phòng thủ Cả hai sẽ phát sinh lỗi do chỉ mục không xác định (cả hai lần đầu tiên cố gắng lấy giá trị tại chỉ mục trước) nếu chỉ mục không được đặt. Đây là một điều nhỏ, nhưng ngay cả khi bạn đã tắt báo cáo lỗi VÀ ghi nhật ký, thì lỗi vẫn được nêu ra, được tạo và lan truyền qua ngăn xếp trước khi nó được kiểm tra xem có chỗ nào để báo cáo lỗi không. Và do đó, chỉ cần làm điều gì đó CÓ THỂ gây ra lỗi, sẽ gây ra hiệu suất Hãy ghi nhớ điều này vì điều này áp dụng cho tất cả các Loại lỗi (Thông báo, Cảnh báo, v.v.) và trong các ứng dụng lớn có thể là một vấn đề lớn. Để tránh điều này, bạn phải sử dụng một hàm không gây ra lỗi khi thiếu chỉ mục, chẳng hạn như Hãy thử một chức năng như
Điều này không gây ra lỗi và sẽ tạo đường dẫn nếu nó không tồn tại. Nó cũng được hưởng lợi từ việc hợp nhất logic để đặt giá trị mặc định ở một nơi, thay vì Như đã đề cập ở nơi khác, tùy chọn khác là
Cái nào cũng tốt và có lẽ hiệu quả hơn Tuy nhiên, tất cả những gì đã nói, lý tưởng nhất là điều này chỉ nên được xử lý trong dịch vụ tiêu dùng. Nếu giá trị trống, thì người tiêu dùng (dù là chế độ xem hay ứng dụng khách khác [như javascript]) sẽ được phép tự đưa ra lựa chọn này. Trên thực tế, dữ liệu ngữ nghĩa trống cho mô hình. Cách xử lý điều này tùy thuộc vào người tiêu dùng, nghĩa là, nếu điều này chuyển sang mẫu/chế độ xem, thì điều kiện phải được xử lý trong khi hiển thị. Nếu nó được gửi dưới dạng JSON, khách hàng sẽ có thể đưa ra lựa chọn Bạn đang hỏi về phong cách, đó có lẽ là điều quan trọng nhất. Phong cách tốt nhất là, nếu bạn đang cung cấp dữ liệu cho khách hàng, đừng giả mạo nó (nhưng hãy ghi lại phản hồi trống có thể có) LÀ NULL trong nếu điều kiện PHP?Hàm is_null() kiểm tra xem một biến có phải là NULL hay không . Hàm này trả về true (1) nếu biến là NULL, ngược lại trả về false/nothing.
Làm cách nào để đặt giá trị mặc định trong PHP?PHP cho phép bạn xác định các giá trị đối số mặc định kiểu C++. Trong trường hợp như vậy, nếu bạn không chuyển bất kỳ giá trị nào cho hàm, nó sẽ sử dụng giá trị đối số mặc định. . chức năng sayXin chào($name="Ram"){ echo "Hello $name ";. sayXin chào ("Sonoo"); sayHello();//không truyền giá trị sayXin chào("Vimal"); Làm cách nào để gán giá trị NULL trong PHP?Trong PHP, một biến không có giá trị được gọi là kiểu dữ liệu null. Một biến như vậy có một giá trị được xác định là NULL. Một biến có thể được gán rõ ràng NULL hoặc giá trị của nó được đặt thành null bằng cách sử dụng hàm unset() . |